07_Edge_Detection.py
07_Edge_Detection.py
import sys
import numpy
image_filter = PREVIEW
alive = True
source = cv2.VideoCapture(s)
while alive:
has_frame, frame = source.read()
if not has_frame:
break
frame = cv2.flip(frame, 1)
if image_filter == PREVIEW:
result = frame
elif image_filter == CANNY:
result = cv2.Canny(frame, 80, 150)
elif image_filter == BLUR:
result = cv2.blur(frame, (13, 13))
elif image_filter == FEATURES:
result = frame
frame_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
corners = cv2.goodFeaturesToTrack(frame_gray, **feature_params)
if corners is not None:
for x, y in numpy.float32(corners).reshape(-1, 2):
cv2.circle(result, (x, y), 10, (0, 255, 0), 1)
cv2.imshow(win_name, result)
key = cv2.waitKey(1)
if key == ord("Q") or key == ord("q") or key == 27:
alive = False
elif key == ord("C") or key == ord("c"):
image_filter = CANNY
elif key == ord("B") or key == ord("b"):
image_filter = BLUR
elif key == ord("F") or key == ord("f"):
image_filter = FEATURES
elif key == ord("P") or key == ord("p"):
image_filter = PREVIEW
source.release()
cv2.destroyWindow(win_name)