-
[컴퓨터비전] Python HoughTransform 직선검출@챈챈/#ImageProcessing 2020. 1. 30. 11:10
저희 회사는 지난 목요일부터 어제까지 연휴여서 계~속 쉬다가 오늘 오랜만에 출근을 하니 기분이 좋습니다
역시 연휴는 길어야해요ㅠ0ㅠ 계속 쉬니까 오랜만에 회사도 가고싶고,, 그런 마음이 생깁니다.
자율주행자동차 도로검출에 많이 사용되는 알고리즘 중 하나인 Hough Transform을 통한 직선 검출 방법입니다.
12345678910111213141516171819202122232425262728293031import numpy as npimport cv2img = cv2.imread('road.jpg')gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)#적당한 수의 직선이 나타나야하기 때문에 CannyEdge 사용edges = cv2.Canny(gray, 300, 500, None, 3)cv2.imshow('Edge', edges)lines = cv2.HoughLines(edges, 1, np.pi/180, 170, None, 0,0)#임계값에 따라 나타내는 직선의 수가 달라짐for i in range(0, len(lines)):rho = lines[i][0][0]theta = lines[i][0][1]a = np.cos(theta)b = np.sin(theta)x0 = a * rhoy0 = b * rhox1 = int(x0 + 1000*(-b))y1 = int(y0 + 1000*(a))x2 = int(x0 - 1000*(-b))y2 = int(y0 - 1000*(a))cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 1)cv2.imshow('res', img)k = cv2.waitKey(0)if k == 27:cv2.destroyAllWindows()road.jpg edge image result image '@챈챈 > #ImageProcessing' 카테고리의 다른 글
[컴퓨터비전] C/C++ Sobel Edge(소벨 에지) 검출 (0) 2020.01.30 [영상처리] 이미지를 픽셀로 변환하기 (0) 2019.12.15