35 lines
927 B
Python
35 lines
927 B
Python
|
|
import cv2
|
||
|
|
import numpy as np
|
||
|
|
import glob
|
||
|
|
|
||
|
|
x_min=600
|
||
|
|
y_min=350
|
||
|
|
x_max=750
|
||
|
|
y_max=500
|
||
|
|
|
||
|
|
fichiers=glob.glob("poulailler*.jpg")
|
||
|
|
for fichier in fichiers:
|
||
|
|
img=cv2.imread(fichier, 1)
|
||
|
|
img_cible=img[y_min:y_max, x_min:x_max]
|
||
|
|
edges=~cv2.Canny(img_cible, 30, 80)
|
||
|
|
|
||
|
|
edges=cv2.erode(edges, None, iterations=3)
|
||
|
|
edges=cv2.dilate(edges, None, iterations=2)
|
||
|
|
|
||
|
|
presence=0
|
||
|
|
elements=cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[-2]
|
||
|
|
for e in elements:
|
||
|
|
c=cv2.contourArea(e)
|
||
|
|
if c>150:
|
||
|
|
presence=1
|
||
|
|
|
||
|
|
if presence:
|
||
|
|
cv2.putText(img, "OK", (50, 100), cv2.FONT_HERSHEY_PLAIN, 5, (0, 255, 0), 2, cv2.LINE_AA)
|
||
|
|
else:
|
||
|
|
cv2.putText(img, "KO", (50, 100), cv2.FONT_HERSHEY_PLAIN, 5, (0, 0, 255), 2, cv2.LINE_AA)
|
||
|
|
|
||
|
|
cv2.rectangle(img, (x_min, y_min), (x_max, y_max), (0, 255, 0), 1)
|
||
|
|
cv2.imshow("image", img)
|
||
|
|
cv2.imshow("image2", edges)
|
||
|
|
cv2.waitKey()
|