[英]Convert Mat to Bitmap by opencv
我試圖將Mat矩形從onCameraFrame轉換為位圖,然后將位圖發送到ocr函數,因為我需要根據矩形使ocr在ROI上實時工作。 我嘗試了以下幾行:
Mat mgray= inputFrame.gray();
Mat grayInnerWindow = mgray.submat(100, 100 +500, 150, 200 + 50);
Imgproc.cvtColor(mIntermediateMat, rgbaInnerWindow, Imgproc.COLOR_GRAY2BGRA, 4);
rgbaInnerWindow.release();
Size sizeGray = grayInnerWindow.size();
int rowss = (int) sizeGray.height;
int colss = (int) sizeGray.width;
Mat tmp = new Mat(colss, rowss, CvType.CV_8UC4);
Imgproc.cvtColor(rgbaInnerWindow, tmp, Imgproc.COLOR_RGBA2BGRA, 4);
Bitmap bmp = Bitmap.createBitmap(tmp.cols(), tmp.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(tmp, bmp);
ImageView Img = (ImageView)findViewById(R.id.image_manipulations_activity_surface_view);
Img.setImageBitmap(bmp);
但是當我運行它終止。
您要釋放rgbaInnerWindow,然后將其重新用作cvtColor的輸入。
是的,那會燃燒,rgbaInnerWindow現在無效/空。
還有,為什么所有這些cvtColor調用? 您不能僅將8位灰度圖像傳遞給OCR嗎?
(將4通道的所有灰度圖像從RGBA轉換為BGRA完全沒有用)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.