次のコードは、中央のピクセルを読み取り、私が仮定した値がH = data[0], S data[1], V = data[2]
である場合、HSV値の上限と下限をどのように取得しますか?OpenCV:色の上限と下限の検索HSV
参考:私が読んでいるカラーピクセルはグリーンです。
E /データ:H:90.0 S:113.0 V:144.0
if (getIntent().hasExtra("byteArray")) {
bitmap = BitmapFactory.decodeByteArray(getIntent().getByteArrayExtra("byteArray"), 0, getIntent().getByteArrayExtra("byteArray").length);
int width= bitmap.getWidth();
int height=bitmap.getHeight();
int centerX=width/2;
int centerY=height/2;
srcMat = new Mat();
Utils.bitmapToMat(bitmap, srcMat);
Imgproc.cvtColor(srcMat, srcMat, Imgproc.COLOR_BGR2HSV);
srcMat.convertTo(srcMat, CvType.CV_64FC3); //http://answers.opencv.org/question/14961/using-get-and-put-to-access-pixel-values-in-java/
double[] data = srcMat.get(centerX, centerY);
Log.e("data", String.valueOf("H:"+data[0]+" S:"+data[1]+" V:"+data[2]));
Log.e("dlength", String.valueOf(data.length));
Mat matHSV = new Mat(0,0,CvType.CV_64FC3);
はまた、次の3行のコードを追加することによって、私は、ビットマップ== nullのを言って、エラーを受け取りますだから、ピクセル読書がうまくいかなかったかどうかわからない。
色の上限と下限を見つけることは平均色を見つけることと同じではありません。 –
[this](https://stackoverflow.com/a/28542584/6950238)の回答をご覧ください。 –