如何找出两个图像之间的对象差异?

时间:2016-01-25 06:47:21

标签: c++ opencv

在我的项目中,我有图像1包含几何cad模型和另一个图像2具有相同的几何cad模型但是有些东西在那里缺失。所以我必须发现这两个部分是否相同?如果不是然后想通过在图像上指示一些标记来给出图像2中缺少部件的位置。

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,这是一种方法: 导入图像并从opencv上运行subtract方法,然后运行np.any。

下面是一个示例代码(使用python):

col-md-3

C ++版本:

import cv2
import numpy as np

image1 = cv2.imread("banana.jpg")
image2 = cv2.imread("banana2.jpg")

difference = cv2.subtract(image1, image2)

result = not np.any(difference) #if difference is all zeros it will return False

if result is True:
    print "The images are the same"
else:
    cv2.imwrite("result.jpg", difference)
    print "the images are different"