Python OpenCV 图像差异检测与最低点像素提取
import cv2 import numpy as np
def getDarts(pic1_ad, pic2_ad): pic1 = cv2.imread(pic1_ad, cv2.IMREAD_COLOR) pic2 = cv2.imread(pic2_ad, cv2.IMREAD_COLOR)
if (pic1 is None) | (pic2 is None):
print("打开失败")
else:
pic1_HSV = cv2.cvtColor(pic1, cv2.COLOR_BGR2HSV)
pic2_HSV = cv2.cvtColor(pic2, cv2.COLOR_BGR2HSV)
diff_HSV = cv2.absdiff(pic1_HSV, pic2_HSV)
result = cv2.cvtColor(diff_HSV, cv2.COLOR_HSV2BGR)
return result
return diff_HSV
if name == "main": pic1_ad = "C:/Users/Administrator/Desktop/Darts/Area2.jpg" pic2_ad = "C:/Users/Administrator/Desktop/Darts/Area10OnArea2.jpg"
img1 = cv2.imread(pic1_ad)
img2 = cv2.imread(pic2_ad)
result = getDarts(pic1_ad, pic2_ad)
cv2.imshow('Darts', result)
cv2.waitKey(0)
这段代码输出的图像是什么 如何获得差异图中,差异显著的像素的最低点像素内容:这段代码输出的图像是两个输入图像的差异图。差异图显示了两个图像之间像素值的差异。
要获得差异图中差异显著的像素的最低点像素,可以使用以下步骤:
- 将差异图转换为灰度图像。
- 使用cv2.minMaxLoc()函数找到灰度图像中的最小值和最大值的像素位置。
- 使用最小值的像素位置获取差异显著的像素的坐标。
- 使用坐标获取差异显著的像素的值。
以下是示例代码:
gray_diff = cv2.cvtColor(result, cv2.COLOR_BGR2GRAY)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(gray_diff)
min_pixel_value = result[min_loc[1], min_loc[0]]
print("差异显著的像素的最低点像素值:", min_pixel_value)
请注意,这段代码假设差异图中只有一个最低点像素。如果存在多个最低点像素,则可以使用其他方法来找到最低点像素。
原文地址: https://www.cveoy.top/t/topic/pAzw 著作权归作者所有。请勿转载和采集!