基于python-opencv的摄像头识别五角星
使用前在D盘创建一个Images的文件夹就ok了。
import threadingimport cv2global timerimport sysnum = 0def shot_img(): global num success, frame = cameraCapture.read() print(num) path = "D:/Images/" cv2.imwrite( path +str(num) + '.png', frame) e = cv2.imread("D:/Images/" + str(num) + '.png') g = cv2.cvtColor(e, cv2.COLOR_BGR2GRAY) r, b = cv2.threshold(g, 0, 255, cv2.THRESH_OTSU) cr, t = cv2.findContours(b, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) ep = 0.01 * cv2.arcLength(cr[1], True) ap = cv2.approxPolyDP(cr[1], ep, True) co = len(ap) if co==10: print("五角星") else: print("识别失败") num += 1 if num==5: cameraCapture.release() cv2.destroyAllWindows() sys.exit() timer = threading.Timer(1, shot_img) timer.start()#---------------------------------------------------------------------------------------------------if __name__ == '__main__': cameraCapture = cv2.VideoCapture(0) timer = threading.Timer(1, shot_img) timer.start() cv2.waitKey(1000)