Din*_*lam 2 python opencv image-processing
我有两个图像,一个是文档图像,另一个图像是模板图像。
我正在文档图像和模板图像之间执行 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()
Run Code Online (Sandbox Code Playgroud)
上述程序的输出:
这里的背景噪音是 Apt.no。OpenCV图像减法表现不佳。
我注意到为什么图像减法表现不佳的一件事是因为两个图像的质量不相同。有没有办法去除图像减法过程中出现的背景噪声?
该代码是不言自明的。
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()
Run Code Online (Sandbox Code Playgroud)