如何使用Numpy和OpenCV计算图像的平均值



对于我在大学的一个项目,我希望使用Python来选择一个更突出的图像。

要做到这一点,我知道我首先必须使用OpenCv的显著性检测。但是在输出之后,我得到了一张带有显著性映射的图像,我如何计算图像中的平均显著性呢?这将允许我比较两张图片,并做出一个明确的决定,哪一个更突出。

有人建议我可以使用Numpy,但不确定如何实际实现这样的事情。(I'm new to Python)

你可能想得太多了。对于计算机来说,图像只是一个整数矩阵。

要得到平均值,计算平均值:https://numpy.org/doc/stable/reference/generated/numpy.mean.html

a = np.array([[1, 2], [3, 4]]) # this would be your image
m = np.mean(a)

或者计算所有白色像素并除以图像的大小,得到二值图像:https://numpy.org/doc/stable/reference/generated/numpy.count_nonzero.html

a = np.array([[0, 1, 7, 0],[3, 0, 2, 19]]) # your image here
ct = np.count_nonzero(a)

最新更新