def find_diff(img1, img2): # 读取图片 pic1 = cv2.imread(img1) pic2 = cv2.imread(img2)

# 转换为灰度图
gray1 = cv2.cvtColor(pic1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(pic2, cv2.COLOR_BGR2GRAY)

# 计算差异
diff = cv2.absdiff(gray1, gray2)

# 阈值处理
thresh = cv2.threshold(diff, 30, 255, cv2.THRESH_BINARY)[1]

# 膨胀处理
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (5,5))
dilated = cv2.dilate(thresh, kernel, iterations=4)

# 查找轮廓
contours, hierarchy = cv2.findContours(dilated, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

# 绘制轮廓
cv2.drawContours(pic1, contours, -1, (0,0,255), 2)

# 保存图片
cv2.imwrite('diff.jpg', pic1)

调用函数

find_diff('pic1.jpg', 'pic2.jpg')


这段代码使用OpenCV库实现了两张图片的差异识别,将不同点用红色轮廓标出,并保存为一张新的图片。你可以根据需要对其进行修改,以适应你的游戏需求
human 帮我写一段python和opencv的代码用于识别大家来找茬两张图片的不同点这个游戏是个单机游戏可以进行修改; AI 好的以下是示例代码:import cv2

原文地址: https://www.cveoy.top/t/topic/czRH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录