내맘대로 공부기록.

함수사용법 4

[ openCV | C++ ] HoughLinesP 함수 사용 방법. (+HoughLines함수와 비교)

어떤 함수 ❓ 🤔 직선을 추출하는 개념으로는 HoughLines과 같습니다. 하지만 이 함수에서는 확률적인 방법으로 접근하는데요. 구체적으로 말하자면 직선 속성을 추출하기 위해 픽셀을 랜덤 하게 선택하는 거죠.(기본 허프 변환에서는 모든 픽셀에 대한 알고리즘 검사를 하게 되기 때문에, 계산에 대한 비용이 매우 큽니다.) 그래서 기본 HoughLines 함수에다가 P(Probabilistic, 확률적인.)만 덧붙이는 형태로 구분됩니다. 간단하게 Probabilistic Hough transform 알고리즘을 써서 직선을 검출하는 겁니다. 알고리즘에 대한 공부는 각자 해보도록 합시다. HoughLinesP( 타겟이미지, 직선속성변수(vector 타입의 어레이 변수), r 방향변위값(경계값), 회전방향각도(경..

[ C++ ] 2021.03.28

[ openCV | C++ ] HoughLines 함수 사용 방법. (차선 검출 준비단계)

어떤 함수 ❓ 🤔 직선을 "검출하는" 함수입니다. 직선을 검출하는 방법으로 Hough Line Transform 알고리즘이 사용되었습니다. 이진화된 이미지(엣지 검출 데이터)를 기반으로, 픽셀 포인트가 같은 직선상에 있다는 조건을 만족하면, 직선의 속성(r, θ) 값을 반환해줍니다. 이론 편은 다음 글을 참고하세요. [ openCV | C++ ] Hough Line Transform 이론편.개념정리. 1. 기본개념 2. 조금 더 깊이(논문) FINITE LINE 1. 기본개념 허프 변환 - 위키백과, 우리 모두의 백과사전 허프 변환 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 허프 변환(Houg fwanggu-lee.tistory.com HoughLines( 타겟이미지, 직선속성..

[ C++ ] 2021.03.26

[ openCV | C++ ] approxPolyDP 함수 사용 방법.

어떤 함수 ❓ 🤔 "형상을 근사" 하는 함수입니다. 검출된 형상(외곽선)을 표현하기 위해, 점 데이터가 사용되어지는데요. 그 데이터 수를 수많은 어레이 점 데이터에서, 보다 적은 점으로 커브 또는 다각형 형상을 표현할 수 있게 됩니다. 조금 더 쉽게 풀어 얘기하면, 사각형 물체의 컨투어(외곽선)를 점 20개로 세밀하게 표현했다고 합시다. 하지만 우리는 사실 사각형(다각형)을 표현하기 위해 꼭지점 네 점만 있으면 되죠. 즉, 사각형(특정 형상)을 표현하기 위한 최소 데이터를 20에서 4개로 근사화 했다 ! 라고 하는 작업을 해주는 함수입니다. (근사 정확도 설정에 따라서, 커브 또는 점 데이터 갯수는 변경될 수 있습니다.) approxPolyDP( 컨투어 포인트 어레이, 근사된 포인트 어레이, 근사 정확도..

[ C++ ] 2021.03.17

[ openCV | C++ ] drawContours 함수 사용 방법.

어떤 함수 ❓ 🤔 "그리는" 함수 입니다. 컨투어를 검출하는 작업이 아닌, 검출된 컨투어 데이터를 이미지에 뿌려서, 이미지를 표현 하는 함수입니다. drawContours( 타겟이미지, 검출된 컨투어 포인트 어레이, 포인트 어레이 인덱스, 컨투어 색상, 컨투어 라인 두께, 컨투어 라인 타입, ... ) 매개변수 (설명) 🔑 타겟이미지 : 컨투어 라인을 그릴 이미지를 지정합니다. Mat 형태의 이미지 파일을 지정하면 됩니다. 🔑 검출된 컨투어 포인트 어레이 : approxPolyDP 함수를 이용하여 얻어진, 다각형을 표현하는 (근사된) 포인트 집합 데이터를 대입합니다. 이 데이터를 생성하기 위해서는 findContours 작업이 선행되어야 합니다. 🔑 포인트 어레이 인덱스 : 두번째 인수(어레이)의 인덱스..

[ C++ ] 2021.03.07
반응형