현재 영상처리와 이미지 프로세싱을 공부하고 있어 허프변환이라는 것을 알아보려한다.
허프변환은 한 점이 가질 수 있는 모든 직선을 b와 m에 대한 평명에서 하나의 직선으로 표현할 수 있다.
그렇다면 두 점을 m,b에 대한 식으로 바꿨을 때는 m,b평면에서 직선이 두개 나오게 된다. 그렇다면 그 두 직선의 교점은 두 점을 지나는 직선을 의마하게 된다.
m,b평면에서 나타낸 직선은 한 점이 가질 수 있는 모든 직선을 의미하고 m1,b1에서 만난 점은 두 점이 모두 가질 수 있는 직선을 의미하기 때문이다.
교점이 의마하는 것은 x,y 평면에서 그 점들을 지나는 직선 을 의미한다.
wkdtjsgur100.github.io/Hough-Transform/ 이 블로그를 참고 하였습니다.'
in image space, a line is plotted as x vs y, but in 1962, Paul Hough devised a method for representing lines in parameter space, which we will call hough space in his honor.
in hough space, I can represent my " x vs y" line as a point in "m vs b" instead. the hough transform is just the conversion from image space to Hough space. so, the characterization of a line in image space will be a single point at the position(m,b) in Hough space.
OpenCV를 활용한 허프변환
위에서 설명한 허프변환을 이용하여 이미지에서 직선을 찾는 알고리즘은 cv2.HoughLinesP() 함수에 모두 들어있다.
원본 이미지에 대해 canny edge detection(에지찾는 알고리즘)을 한 결과를 구한다.
threshold 값이 작거나 큼에 따라 나오는 결과가 확연히 다르므로 주어진 이미지에 따라 적절한 threshold값으로 정한다.
2020/10/03 - [IT 프로그래밍/Python 파이썬] - Canny Edge openCV, python
영어는 간단히 설명해주는 것이고 읽기 어렵지 않아 번역없이 넣었습니다!
알듯말듯하지도 않고 다음날이면 하나도 기억안나는 알고리즘 세계에 하루종일 있는 프로젝트 빨리 끝내야하는 공부 안 하는 학생 이였습니
'IT 프로그래밍 > Python 파이썬' 카테고리의 다른 글
cv2.HoughLinesP(edges,rho,theta,threshold,np.array([]),min_line_length,max_line_gap) (0) | 2020.10.04 |
---|---|
Gaussian 가우시안 필터 openCV (0) | 2020.10.03 |
Canny Edge openCV, python (1) | 2020.10.03 |
데이터 사이언스 판다스 총정리 (2) | 2020.09.26 |
데이터 사이언스 을 위한 기초 파이썬 속성 - 1 (0) | 2020.09.26 |