opencv 튜토리얼 - hough line transformOpenCV/OpenCV 강좌2015. 11. 16. 14:38
Table of Contents
반응형
허프변환에 대해 좀더 알고 싶으시면 아래 글을 참고하세요...
[그래픽스&컴퓨터비전/구현한 것들] - Hough Line Transform 구현
- #include <opencv2/core/mat.hpp>
- #include <opencv2/imgcodecs.hpp>
- #include <opencv2/imgproc.hpp>
- #include <opencv2/highgui.hpp>
- using namespace cv;
- using namespace std;
- int main(int argc, char**argv )
- {
- Mat img_original = imread("indoor1.jpg", IMREAD_COLOR );
- Mat img_edge, img_gray;
- //그레이 스케일 영상으로 변환 한후.
- cvtColor( img_original, img_gray, COLOR_BGR2GRAY);
- //캐니에지를 이용하여 에지 성분을 검출합니다.
- Canny( img_gray, img_edge, 30, 90, 3);
- //직선 성분을 검출합니다.
- vector<Vec4i> lines;
- HoughLinesP( img_edge, lines, 1, CV_PI/180, 30, 30, 3);
- //검출한 직선을 영상에 그려줍니다.
- for( int i=0; i<lines.size(); i++ )
- {
- Vec4i L = lines[i];
- line(img_original, Point(L[0],L[1]), Point(L[2],L[3]),
- Scalar(0,0,255), 1, LINE_AA );
- }
- cvNamedWindow("edge", WINDOW_AUTOSIZE );
- imshow( "edge", img_edge );
- cvNamedWindow("result", WINDOW_AUTOSIZE );
- imshow( "result", img_original );
- waitKey(0);
- }
Canny함수와 HoughLinesP 함수의 파라메타를 조정하여 복도 사진에서 직선 성분을 뽑아봤습니다. 수작업으로 제대로 나온 상태를 찾은 거라.. 실제로는 이런 결과가 안나올 수 있습니다. 똑같은 장소에서 촬영한 이미지라도 조명 상황에 따라 에지가 다르게 뽑힐 수 있어서요..
반응형
'OpenCV > OpenCV 강좌' 카테고리의 다른 글
opencv를 이용하여 wxPython에서 웹캠 영상 띄우기 (0) | 2016.05.23 |
---|---|
openCV 라벨링 예제 ( connectedComponentsWithStats ) (65) | 2015.11.19 |
opencv python - Harris Corner Detection (2) | 2015.11.13 |
opencv python - K-Means Clustering (3) | 2015.11.10 |
opencv python - 극좌표를 이용하여 방사형으로 라인 그리기 (0) | 2015.11.07 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!