我有两个图像,一个是文档图像,另一个是模板图像。
我正在文档图像和模板图像之间执行OpenCV图像减法。
from matplotlib import pyplot as plt
import numpy as np
import cv2
template_img = cv2.imread('data_3/template.png')
document_img = cv2.imread('data_3/document.png')
result_img = cv2.subtract(template_img,document_img)
plt.imshow(result_img)
plt.title('Result Image')
plt.show()
上述程序的输出:
此处背景噪声为Apt.no。 OpenCV图像减法效果不佳。
我注意到一件事,为什么图像减法效果不佳,因为两个图像的质量都不相同。有什么方法可以消除图像减法期间发生的背景噪声?
答案 0 :(得分:4)
该代码不言自明。
import numpy as np
import cv2
if __name__ == '__main__':
image = cv2.imread('image.png',cv2.IMREAD_GRAYSCALE)
template = cv2.imread('template.png',cv2.IMREAD_GRAYSCALE)
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))
template = cv2.morphologyEx(template, cv2.MORPH_ERODE, kernel,iterations = 2)
image[template == 0] = 255
cv2.imshow('image', image)
cv2.imshow('tmpl', template)
cv2.waitKey(0)
cv2.destroyAllWindows()