2017-01-21 11 views
2

HSV色空間で緑色をセグメント化しようとしています。私はこの木のイメージを持っており、私は木の上部が残っているのが好きです。OpenCV - 画像からツリーを分割する

enter image description here

これは私から始めていた画像であり、Iが得マスクこれは私の現在のコードであるだけ全黒画像 ある:

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で働いています。したがって、H度は通常[度]で[0,360] is compressed to fit 255 by halvingです。

参照ドキュメント:8ビット画像:V←255V、S←255S、H←H/2(0〜255に適合するように)

ように、元のH緑色範囲[70140] [35,70]に半分にすべきである。

+0

あなたの答えをありがとう!ちょうどそれを受け入れた。別の問題が発生しました:http://stackoverflow.com/questions/41789983/opencv-dilatation-doesnt-seem-to-work アイデアは? – thrower123

+0

ページが開かない –

関連する問題