From c5e72b3ab6bc35b02313bb2ba6c2ef2f35aa4361 Mon Sep 17 00:00:00 2001 From: pyhqos7bg Date: Thu, 30 May 2024 15:00:56 +0800 Subject: [PATCH] ADD file via upload --- check.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 check.py diff --git a/check.py b/check.py new file mode 100644 index 0000000..d2911ac --- /dev/null +++ b/check.py @@ -0,0 +1,25 @@ +import cv2 +import matplotlib.pyplot as plt +def detect_defect(check_binary,template): + height,width = template.shape + roi = cv2.resize(check_binary,(width,height)) + mask = cv2.subtract(template,roi) + se = cv2.getStructuringElement(cv2.MORPH_RECT, (22, 22), (-1, -1)) + mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, se) + ret, mask = cv2.threshold(mask, 0, 255, cv2.THRESH_BINARY) + count = 0 + for row in range(height): + for col in range(width): + pv = mask[row, col] + if pv == 255: + count += 1 + + cv2.imwrite("mask.png", mask) + return count + +template = cv2.imread("./images/good_template.png", 0) +check_image = cv2.imread("./images/check_template.png",0) +detect_defect(check_image,template) +mask = cv2.imread("mask.png",0) +plt.imshow(mask,cmap="gray") +plt.show()