2017-01-21 1 views
2

HSV- 색상 공간에서 녹색을 세그먼트 화하려고합니다. 나는이 나무 심상을 가지고 있으며 나무의 윗부분 만 남기를 원할 것이다. OpenCV - 이미지에서 트리 분할

enter image description here

내가 시작하고 이미지 내가 얻을 마스크이 내 현재 코드 그냥 완전히 검은 색 이미지 입니다 :

Mat input = imread(image_location); 
imshow("input img",input); waitKey(0); 


//convert image to HSV 
Mat input_hsv; 
cvtColor(input,input_hsv,COLOR_BGR2HSV); 


vector<Mat>channels; 
split(input_hsv, channels); 

Mat H = channels[0]; 
Mat S = channels[1]; 
Mat V = channels[2]; 

Mat mask2; 

inRange(input_hsv, Scalar(70, 0, 0), Scalar(143, 255, 255), mask2); 


imshow("mask2", mask2);waitKey(0); 

는 일반적으로 HSV의 색상 녹색 범위 +/- 70에서 140. 그러나 전혀 작동하지 않는 것 같습니다. 누군가 도울 수 있을까요?

+0

녹색을 위해 RGB를 HSV로 변환하는 공식을 코딩 해보십시오. –

+0

@ JeruLuke 어떻게 도움이 될지 모르겠군요. 지금 당장은 RGB에서 HSV 온라인으로 전환했습니다. 녹색은 70에서 140 사이의 색조를 가지고 있으며 채도와 S- 구성 요소가 어떤 값이든 허용했습니다. 무슨 뜻인지 설명해 주시겠습니까? – thrower123

+0

* 채도 및 V- 구성 요소 – thrower123

답변

1

8U에서 작업하고 있습니다. 따라서 일반적으로 각도가 [0,360] is compressed to fit 255 by halving 인 H 성분입니다. 8 비트 이미지 :

는 문서 참조 H ←는 H/2 V ← 255V, S ← 255S를 따라서

일본어 H 녹색 범위 [70,140] (에 맞게 0 ~ 255) [35,70]이되어야한다.

+0

답변 해 주셔서 감사합니다! 그냥 받아 들였습니다. 다른 문제가 발생했습니다. http://stackoverflow.com/questions/41789983/opencv-dilatation-doesnt-seem-to-work 아이디어가 있으십니까? – thrower123

+0

페이지가 열리지 않습니다. –

관련 문제