首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python计算机视觉代码中预概率公式的统计意义(matplotlib.image.imread)

Python计算机视觉代码中预概率公式的统计意义(matplotlib.image.imread)
EN

Stack Overflow用户
提问于 2020-12-04 12:22:29
回答 1查看 60关注 0票数 0
代码语言:javascript
运行
复制
import numpy as np
import matplotlib.image as img;
C = 1.0-np.mean(img.imread('circle.png'),axis=2);
C /= np.sum(C);

图像有256×256像素。得到的数组C似乎是一个包含每个像素的概率的256×256数组(颜色、深度,我不知道概率是多少,因为我不知道matplotlib.image.imread做什么。

我理解第4行代码是指概率值(由它们的和归一化的真实数据,使它们之和为1),但是在图像上下文内外,代码第3行上的公式的含义是什么,即统计直觉?

最后,我想将上面的概率转换应用于单个时间序列的实际数据,所以我想知道公式1.0-np.mean()是否仍然适用于我的(非计算机视觉,但分布的)应用程序。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-04 15:06:29

图像包含像素。

图像可以有一个颜色通道(灰度)或多个(红、绿、蓝).

“深度”是描述像素值的梯度的术语。8位是常见的,这意味着每个通道2^8 =256个不同级别,或256^3 =1670万种不同颜色。有一点是黑白的。先进的相机和扫描仪可能有10,12,或更多的深度。

我看不出有什么可能发生。

img.imread('circle.png')读取图像。您将得到一个数字数组的形状(height, width, 3),因为图像很可能是在颜色。第三维空间(维数2)表示每个像素的颜色通道。我猜这个例程以浮点值的形式加载图像,范围为0.0到1.0。

np.mean(..., axis=2)获取每个像素的所有颜色通道的平均值。它沿轴2(第三个)进行平均/平均计算,其中包含每个像素的颜色值。该数组的形状将是(height, width),并将输入图像表示为灰度。颜色的权重有一点问题。通常,绿色通道得到更多的重量(最亮),而蓝色通道得到较少的重量(最黑暗)。

C = 1.0- ...倒置图片。

np.sum(C)简单地总结了C的所有灰度像素,你将得到图片的整体亮度的度量。

C /= np.sum(C)除以亮度度量。你会得到一个标准化的亮度图片。有一个因素,图像的大小(宽度*高度)缺失,因此这些值将非常小(昏暗)。

用这个代替(平均值而不是和)来调整强度值,使其平均为0.5 (灰色)。

代码语言:javascript
运行
复制
C /= np.mean(C) # now 1.0 on average
C *= 0.5
# or just C *= 0.5 / np.mean(C)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65143485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档