The Hough Transform is a popular technique to detect any
shape, if
You can represent that shape In a mathematical form. It can
detect the shape even if it is broken or distorted a little bit.
Cartesian coordinate system: y = mx + b
import cv2
import numpy as np
#sudoku.png
img = cv2.imread('road4.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
cv2.imshow('edges', edges)
lines = cv2.HoughLinesP(edges, 1, np.pi/180, 100, minLineLength=100, maxLineGap=10)
for line in lines:
x1, y1, x2, y2 = line[0]
cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.imshow('image', img)
k=cv2.waitKey(0)
cv2.destroyAllWindows()
import numpy as np
#sudoku.png
img = cv2.imread('road4.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
cv2.imshow('edges', edges)
lines = cv2.HoughLinesP(edges, 1, np.pi/180, 100, minLineLength=100, maxLineGap=10)
for line in lines:
x1, y1, x2, y2 = line[0]
cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.imshow('image', img)
k=cv2.waitKey(0)
cv2.destroyAllWindows()
No comments:
Post a Comment