Python 快速计算像素强度(颜色值)的方法,无需迭代图像中的所有像素

Python 快速计算像素强度(颜色值)的方法,无需迭代图像中的所有像素,python,opencv,image-processing,Python,Opencv,Image Processing,我正在执行一个操作,如果像素值大于0,我必须计算所有像素强度之和。目前,我正在迭代每一个像素,速度较慢。谁能提出一个更快的方法来改进我的代码 h, w = image.shape[:] total_intensity = 0 for x in range(h): for y in range(w): if (image[x][y] > 0): total_intensity += image[x][y] 您可以这样做: total_inte

我正在执行一个操作,如果像素值大于0,我必须计算所有像素强度之和。目前,我正在迭代每一个像素,速度较慢。谁能提出一个更快的方法来改进我的代码

h, w = image.shape[:]
total_intensity = 0
for x in range(h):
    for y in range(w):
        if (image[x][y] > 0):
            total_intensity += image[x][y]
您可以这样做:

total_intensity=sum(图像中j的sum(滤波器(λi:i>0,图像[j]))


其中0表示最小强度的条件

如果图像是numpy数组,则可以执行以下操作:

total_intensity = image[image > 0].sum()
如果你有一个非常大的图像,你应该担心总数中的溢出问题,所以我强烈建议你首先投射图像

image = np.int64(image)

@Snehipachichigar:如果这个答案对你有效,你应该点击答案左边计票下面的复选标记,而不是评论“谢谢”。看见这就是表示感谢的方式。