numpy自适应阈值formu

2024-06-11 11:18:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图根据灰度图像计算一个阈值(numpy2d数组,点值在0到255之间)。在

公式如下:

equation
(来源:sciweavers.org

其中w,h是图像S的宽度和高度,S(i,j)是点的值。在

我的实现如下:

h,w = sMap.shape
adapTresh = np.sum(sMap)*2/(w*h)

但是对于我的一些图片来说,这个总数是255,所以我认为有一个问题,我是不是用错了numpy(又一次)?在

我不熟悉Python,我是2天前开始的,所以如果这是个愚蠢的问题,请原谅我。在

^{pr2}$

Tags: org图像宽度高度np来源阈值数组
1条回答
网友
1楼 · 发布于 2024-06-11 11:18:05

矩阵中所有单元格的平均值是:

avg = np.sum(sMap) / (w * h)

在极端情况下,所有的单元格都等于255,这样

^{pr2}$

例如

In [8]: M = 255 * np.ones(4).reshape((2,2))

In [12]: M
Out[12]: 
array([[ 255.,  255.],
       [ 255.,  255.]])

In [9]: M.sum() * (2.0 / sum(M.shape))
Out[9]: 510.0

所以我认为你的自适应阈值函数是错的。你是不是故意的

In [11]: M.sum() / sum(M.shape)
Out[11]: 255.0

相关问题 更多 >