import cv2
import numpy as np

cap = cv2.VideoCapture(0)

while True:
	_, frame = cap.read() # _ cause we dont really care about that value
	
	#TO DO: figure out what sobel does
	laplacian = cv2.Laplacian(frame, cv2.CV_64F)
	sobelx = cv2.Sobel(frame,cv2.CV_64F,1,0,ksize=5) #resistant to noise (gaussian smoothing + differentiation)
	sobely = cv2.Sobel(frame,cv2.CV_64F,0,1,ksize=5)

	#using a built-in edge detection 
	#TODO: make your own edge detector

	edges = cv2.Canny(frame, 200,200)


	cv2.imshow('laplacian', laplacian)
	cv2.imshow('sobelx', sobelx)
	cv2.imshow('sobely', sobely)
	cv2.imshow('edges', edges)

	k = cv2.waitKey(5) & 0xFF
	if k == 27:
		break

cv2.destroyAllWindows()
cap.release()

