cvHoughLines2

2008. 4. 12. 17:01

CvSeq* cvHoughLines2( CvArr* image, void* line_storage, int method,
                      double rho, double theta, int threshold,
                      double param1=0, double param2=0 );

hough변환..인자를 알아보려 해도 영어라 잘몰랐었는데...오늘에서야 드디어 알았다.
우선 잠깐 허프변환에 대해 잠깐 설명을 하면  x,y좌표상에 점들을 기울기와 y절편 상의 새로운 좌표계로 변환한후 새로운 좌표계에 교차점이 많은 직선들은 모두 같은 기울기와 절편을 가지므로 직선이라고 판단할수 있다.

인자를 살펴보자
1. CvArr* image : 변환을 할 이미지가 들어간다.
2. void* line_storage : 라인을 저장할 공간
3. int method : 허프변환에는 3개의 방법이 있다 . 이 방법을 설정하는 인자
4. double rho / double theta : 이 둘은 얼마나 조밀한 단위(?)를 사용할 것인가를 정하는 인자 이다. (예로 rho=1이라면 1픽셀단위로 조사를 하고 theta = PI/180 이라면 1도 단위로 조사를 하겠다는 뜻)
5. int threshold : 허프 공간상에 그려지는 곡선들이 중첩되는 부분을 이용해서 직선을 검출하는데 threshold 값보다 중첩되는 갯수가 많으면 직선으로 간주한다는 뜻이다. 숫자가 커지면 당연히 더 직선의 기준이 엄격하게 된다.
6.double param1 : probabilistic  일 경우  직선의 최소 길이를 설정할 수 있다.
7.double param2 : probabilistic  일 경우 직선의 최대 길이를 설정할 수 있다.


작성자 : 몽키
원문 :http://blog.naver.com/ggzaza/10025894086

밥짓는아이 테크노트/기타