2016-05-08 15 views
0

opencvを使って下の画像からタイトルバーを抽出しようとしています。opencvを使った色の検出

enter image description here

Iは、次のコードを使用してい -

System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
    Mat original = Imgcodecs.imread("D:/test_bg_extract.png", Imgcodecs.CV_LOAD_IMAGE_UNCHANGED); 
    Mat hsvMat = new Mat(); 
    Imgproc.cvtColor(original, hsvMat, Imgproc.COLOR_BGR2HSV); 
    Mat dst = new Mat(); 
    Core.inRange(hsvMat, new Scalar(23,231,205), new Scalar(23,231,205), dst); 

Iは(hsvMatから画像を表示するために変換された)タイトルバーのHSV値を決定するために、カラーピッカーを使用しました。出力を表示するコードを実行すると、空白の画面が表示されます。私が間違っていることは分かりません。間違ったHSVカラーを選んでいますか?正確なRGBコードを知っていれば、画像をHSVに変換する必要がありますか? (これはインターネット上の多くのコード例から標準的な方法と思われます)。

答えて

0

私が必要とする色を指定しながらBGRに切り替えると、RGBベースの色を使って解決しました。これはうまくいった -

System.loadLibrary(Core.NATIVE_LIBRARY_NAME); 
    Mat original = Imgcodecs.imread("D:/test_bg_extract.png", Imgcodecs.CV_LOAD_IMAGE_UNCHANGED); 
    Mat dst = new Mat(); 
    Core.inRange(original, new Scalar(132,178,205), new Scalar(132,178,205), dst); 
+0

私は範囲が必要でない限りHSVを使う必要はないことを知りました。私の場合、単なるRGB値でした。 – Jay

関連する問題