使用 OpenCV Python 检测和计算两个图像之间不同像素的数量

Jes*_*seJ -1 python opencv

类似于这里的问题但我想返回两个图像之间不同像素总数的计数。

我确信在 Python 中使用 OpenCV 是可行的,但我不确定从哪里开始。

And*_*dyK 6

假设两张图片的大小相同

import  numpy as np
import cv2

im1 = cv2.imread("im1.jpg")
im2 = cv2.imread("im2.jpg")

# total number of different pixels between im1 and im2
np.sum(im1 != im2)
Run Code Online (Sandbox Code Playgroud)


Roq*_*qux 5

您可以使用 openCVsabsDiff来获取图像之间的差异,然后countNonZero获取不同像素的数量。

img1 = cv2.imread('img1.png')
img2 = cv2.imread('img2.png')

difference = cv2.absdiff(img1, img2)

num_diff = cv2.countNonZero(difference)
Run Code Online (Sandbox Code Playgroud)