[OpenCV 3.2] Histograms - 2 : Find, Plot, Analyze

지난 정리에서 그렸던 히스토그램 이미지에 임계값(threshold)을 표시하고 임계값의 변화를 실시간으로 출력하도록 수정한다.


4. 히스토그램 이미지에 임계값 불러와서 선 긋기

1) 슬라이더 컨트롤에서 임계값 불러오기

참고 : http://poorman.tistory.com/157


2) 히스토그램 이미지에 선 긋기

- 먼저 선을 그을 히스토그램 이미지를 생성한다

Mat histImage(hist_height, hist_width, CV_8UC3, Scalar(0, 0, 0));

hist_height : 이미지 높이

hist_width : 이미지 너비

CV_8UC3 : 3채널 unsigned char (RGB색상)

Scalar(0, 0, 0) : Scalar( Blue, Green, Red )


- cv:line을 이용하여 히스토그램 이미지에 선 긋기

cv::line (InputOutputArray img, Point pt1, Point pt2, const Scalar &color, int thickness=1, int lineType=LINE_8, int shift=0)

img : 선을 그을 이미지 배경

pt1 : 선 좌표 Point(x1, y1)

pt2 : 선 좌표 Point(x2, y2)

&color : Scalar( Blue, Green, Red)

thickness : 굵기

type : 라인 타입

shift : 좌표 내의 fractional bits 수(?)


3) 소스 코드

[OpenCV 3.2] Histograms - 1 : Find, Plot, Analyze 에서 히스토그램을 그린 코드에 다음을 추가한다.

*여기서 선을 그을 때 주의해야할 건 좌표 값인데 Mat로 만든 이미지의 좌표는 다음과 같다.


4) 실행 결과






컴퓨터 비전과 영상 처리에 대해 독학을 하면서 정리한 걸 적고 있습니다.

전공과 무관하며 전문적인 지식이 아니므로 개인적인 의견과 부족하고 틀린 점이 많습니다.

추가 지식 및 잘못된 점을 지적해주시면 공부하는데 많은 도움이 되겠습니다. 감사합니다^^

- 푸어맨


[Reference]

(OpenCV 핸드북) http://darkpgmr.tistory.com/46

(cv:line) http://docs.opencv.org/3.2.0/d6/d6e/group__imgproc__draw.html#ga7078a9fae8c7e7d13d24dac2520ae4a2

+ Recent posts