RealTimeEdgeDetection / RealTimeEdgeDetection.py
prashanth
Add application file
39011dd
raw
history blame contribute delete
No virus
1.29 kB
import gradio as gr
import cv2
import numpy as np
def segment(img):
webcam = gr.inputs.Image(shape=(640, 480), source="webcam")
# Read the original image
#img = cv2.imread('test.jpg')
# Display original image
#cv2.imshow('Original', img)
#cv2.waitKey(0)
# Convert to graycsale
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Blur the image for better edge detection
img_blur = cv2.GaussianBlur(img_gray, (3,3), 0)
# Sobel Edge Detection
sobelx = cv2.Sobel(src=img_blur, ddepth=cv2.CV_64F, dx=1, dy=0, ksize=5) # Sobel Edge Detection on the X axis
sobely = cv2.Sobel(src=img_blur, ddepth=cv2.CV_64F, dx=0, dy=1, ksize=5) # Sobel Edge Detection on the Y axis
sobelxy = cv2.Sobel(src=img_blur, ddepth=cv2.CV_64F, dx=1, dy=1, ksize=5) # Combined X and Y Sobel Edge Detection
# Display Sobel Edge Detection Images
cv2.imshow('Sobel X', sobelx)
cv2.waitKey(0)
cv2.imshow('Sobel Y', sobely)
cv2.waitKey(0)
cv2.imshow('Sobel X Y using Sobel() function', sobelxy)
cv2.waitKey(0)
# Canny Edge Detection
edges = cv2.Canny(image=img_blur, threshold1=100, threshold2=200) # Canny Edge Detection
# Display Canny Edge Detection Image
webcam = gr.inputs.Image(shape=(640, 480), source="webcam")
webapp = gr.interface.Interface(fn=edges, inputs=webcam, outputs="image")
webapp.launch()