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:
    print("打开失败")
else:
    pic1_HSV = cv2.cvtColor(pic1, cv2.COLOR_BGR2HSV)
    pic2_HSV = cv2.cvtColor(pic2, cv2.COLOR_BGR2HSV)

    result = np.zeros_like(pic1)

    Height, Width, _ = pic1.shape

    for i in range(Height):
        for j in range(Width):
            HSIpixels1 = pic1_HSV[i, j]
            HSIpixels2 = pic2_HSV[i, j]

            if abs(HSIpixels1[0] - HSIpixels2[0]) > 30:
                result[i, j] = pic2[i, j]

    if np.count_nonzero(result) > 0:
        cv2.imshow("Darts", result)
        cv2.waitKey(0)

if name == "main": pic1_ad = "F://Brochure//1.JPG" pic2_ad = "F://Brochure//2.JPG"

img1 = cv2.imread(pic1_ad)
img2 = cv2.imread(pic2_ad)

cv2.imshow("1.JPG", img1)
cv2.waitKey(0)

cv2.imshow("2.JPG", img2)
cv2.waitKey(0)

getDarts(pic1_ad, pic2_ad
#include opencv2coreutilsloggerhpp	#include opencv2opencvhpp	#include vector	#include cmath	#include numeric	#include string	#include iostream	#include ostream	using namespace cv;	using namespace std;

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

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