簡體   English   中英

通過opencv將Mat轉換為位圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM