[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
'Programming > OpenCV' 카테고리의 다른 글
[OpenCV 3.2] Histograms - 4 : Histogram Equalization (평활화) (0) | 2017.01.30 |
---|---|
[OpenCV 3.2] Histograms - 3 : Histogram Equalization (평활화) (1) | 2017.01.29 |
[OpenCV 3.2] Histograms - 1 : Find, Plot, Analyze (0) | 2017.01.24 |
[OpenCV 3.2] Image Binarization, Thresholding (영상 이진화, 임계값) - 6 (1) | 2017.01.24 |
[OpenCV 3.2] Image Binarization, Thresholding (영상 이진화, 임계값) - 5 (1) | 2017.01.23 |