Rect Corner Detection / C++, OpenCV1.0 / 사각형 모서리 찾기

Created Date : 2008.11.
Language : C++
Tool : Visual Studio C++6.0
Library & Utilized :OpenCV 1.0
Reference : -
Etc. : -
 
 
 



This program is for detecting 4 corners of rects(3 rect).
The detection process is shown below.

1. Candidate corner detection using cvGoodFeaturesToTrack function.
2. Blob Coloring - Find 3 biggest blobs
3. Angle inspection tracking outline of blob. - using cvConvexHull2 function.
    Corner's angle would be big than other angles. so we select 4 corners.

<Source Code>
---------------------------------------------------------------------


다음과 같은 과정으로 사각형 캘리브레이션 타켓의 모서리 4군데를 찾는다.

캘리브레이션 타켓의 코너 lefttop, righttop, rightbottom, leftbottom을 검출한다.

cvGoodFeaturesToTrack로 코너 검출
CBlobResult로 Blob Coloring하여 가장 큰 덩어리 3개를 찾음 (사각형 3개)
각 Blob에 대해 cvConvexHull2로 외곽 점 검출
외곽점을 따라가면서 점 간에 각을 저장
점 간의 각도 중 가장 각이 큰 4점을 선택하여 모서리로 판단함
판단된 4점에서 코너점과 가장 가까운 4점을 선택함
이렇게 한 사각형에 대한 모서리 점이 선택됨

결과는 세개의 사각형에 대한
Left Top, Right Top, Right Bottom, Left Bottom 의 이미지 좌표를 알려줌
따라서 카메라 캘리브레이션을 위한 월드 좌표 - 이미지 좌표 값을 자동으로 추출 가능함
 <Source Code>


Comments

Popular posts from this blog

OpenCV Stitching example (Stitcher class, Panorama)

(OpenCV Study) Background subtractor MOG, MOG2, GMG example source code (BackgroundSubtractorMOG, BackgroundSubtractorMOG2, BackgroundSubtractorGMG)

Example source code of extract HOG feature from images, save descriptor values to xml file, using opencv (using HOGDescriptor )

Real-time N camera stitching Class.

8 point algorithm (Matlab source code) / The method to get the Fundamental Matrix and the Essential matrix

Optical Flow sample source code using OpenCV

Video Stabilization example source code, (using cvFindHomography, cvWarpPerspective functions in openCV)

(OpenCV Study) calcOpticalFlowFarneback example source code ( dense optical flow )

yuv422(YUYV) to RGB and RGB to yuv422(YUYV), (Using OpenCV and TBB)

(C, C++) TinyXML , xml read & write