上篇文章有漏洞,在这里补充下,比如要识别第二张图相对于第一张图的违建是否拆除了
第一步旋转对其后,图片会有黑色的掩码,如果旋转角度大的话,没识别出来的框可能不是已经拆除了,而是因为黑色掩码遮挡,如下图:
思路:
将第二张图像中计算出的黑色掩码应用到第一张图像上,再拿两张图片用模型识别对象
# 读取目标图像和计算出的掩码图像
target_img = cv2.imread('overlap1.jpg')
computed_mask_img = cv2.imread('overlap2.jpg', cv2.IMREAD_GRAYSCALE)
# 确保计算出的黑色掩码图像与目标图像具有相同的尺寸
computed_mask_img = cv2.resize(computed_mask_img, (target_img.shape[1], target_img.shape[0]))
# 将计算出的黑色掩码应用到目标图像上
result = cv2.bitwise_and(target_img, target_img, mask=computed_mask_img)
cv2.imwrite('overlap.jpg', result)
改完之后两张图片长这样:
现在再用两张图片做目标识别精确度就会更高点