I持って、次の特定のOpenCVの関数で前処理し、画像化:私はこれで(各色のレンガの数を取得しようとしているOpenCVの(Java)の右HSV色INRANGEを取得
今1色ごとにケース1)。これらは私が持っているすべての色です。
私の計画は、すべての色をループにした「INRANGE」OpenCVの機能を使用して領域のサイズを取得します。私の問題は、さまざまな色を認識することです。私は赤い色を試して、良い範囲を見つけるのに苦労した。私が理解しているGoogleに質問した後、HSV色を使用して、色相値で良好な範囲を取得する必要があります。
だから私は(何らかの理由でJavaで)このコードを書いた:この後
Mat img; //img is given from previos code
Mat hsv = img.clone();
Imgproc.cvtColor(img, hsv, Imgproc.COLOR_BGR2HSV);
を私は別の色を得ることが可能な画像を、と考えられています。実際、私はこの得た:色がほとんど破壊されたこの画像では
を...赤と緑の光は同じと他の色があまりにも完全に異なっている見えます。
今、私の質問:間違っ ドI何か?レゴレンガの色を区別することは可能ですか?これを達成するために私は何ができますか?私はOpenCV 3.1.0 for Javaを使用しています。
おかげでたくさん、 デニス
は[こちら](http://stackoverflow.com/a/31465462/5008845) – Miki
@Mikiのおかげで外観を持っていますが、これは私のために動作しません。たとえば:私は青を取得しようとします。答えは "青は120 + 15の感覚"です。しかし、HSV画像では、青はありません(RGB画像には青いレンガが2つあります)。私の問題は、HSV変換がすべての色を壊し、正しい色を得ることができないということです。たとえば、青色は青色のボードと右(黒色)領域にあります。 – Dentastic