所以我做一個位圖從下一個代碼斑點:位圖來墊給出錯誤的顏色回
byte[] blob = contact.getMP();
ByteArrayInputStream inputStream = new ByteArrayInputStream(blob);
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
Bitmap scalen = Bitmap.createScaledBitmap(bitmap, 320, 240, false);
而且還給下一個輸出,這是很好的
然後,我做了以下操作,將位圖製作成Mat,但隨後我的顏色只是改變了...
//Mat ImageMat = new Mat();
Mat ImageMat = new Mat(320, 240, CvType.CV_32F);
Utils.bitmapToMat(scalen, ImageMat);
我不知道爲什麼,也沒有其他方法將位圖製作成Mat。哪裏不對?
看起來藍色和紅色通道交換。你確定你的Mat將圖像存儲爲RGB(Java的默認值)而不是BGR(Opencv的默認值) –
這個問題的任何更新? –