我的要求有些不同。 我在桌面上有一把钥匙的图像。我的钥匙和地板上的一样。照片和钥匙的尺寸和大小不同,但钥匙相同。现在我只想比较键,并显示它们是相同的。如何使用python和OpenCV。我当前的代码是分析整个图像的直方图和灰度图像,但我希望它能用于图像中的特定对象(这里是关键)
我现在的代码是
# Original image
image = cv2.imread(values[0])
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
histogram = cv2.calcHist([gray_image], [0],
None, [256], [0, 256])
# Input1 image
image1 = cv2.imread(values[1])
gray_image1 = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)
histogram1 = cv2.calcHist([gray_image1], [0],
None, [256], [0, 256])
c1 = 0
i = 0
while i<len(histogram) and i<len(histogram1):
c1+=(histogram[i]-histogram1[i])**2
i+= 1
c1 = c1**(1 / 2)
if(c1==0):
print("Input image is matching with original image.")
elif(c1>0 or c1<0):
打印(“输入图像与原始图像不匹配”)
您可以使用OpenCv
findHomography
和perspectiveTransform
,如文档https://docs.opencv.org/2.4/doc/tutorials/features2d/feature_homography/feature_homography.html#feature-homography(旧版本)中的示例所示为Python更新:https://docs.opencv.org/master/d1/de0/tutorial_py_feature_homography.html
其想法是在两幅图像中找到相同的物体特征,并考虑同音字:
相关问题 更多 >
编程相关推荐