小编Che*_*ter的帖子

cverror android断言失败(scn == 3)Android

我正在尝试在android中使用自适应阈值处理(Bitmap),这需要将其更改为Mat然后将其转换为灰度.

下面是我的代码,从创建位图开始.它们被命名为crop,因为我刚刚在此之前裁剪了照片.

            Bitmap bmCrop = BitmapFactory.decodeStream(iStream);
            Bitmap bmThreshed = null;
            /*
             * Initialize the Mats
             */
            Mat threshed = new Mat(bmCrop.getHeight(),bmCrop.getWidth(), CvType.CV_8UC1, new Scalar(4));//, new Scalar(4)
            //Mat crop = new Mat();
            Mat crop = new Mat(bmCrop.getHeight(),bmCrop.getWidth(), CvType.CV_8UC1,new Scalar(4));//, new Scalar(4)
            /*
             * Convert the Mats to Grayscale
             */
            if(!threshed.empty())
                Imgproc.cvtColor(threshed, threshed, Imgproc.COLOR_RGB2GRAY,1);// CURRENTLY BREAKING HERE
            if(!crop.empty())
                Imgproc.cvtColor(crop, crop, Imgproc.COLOR_BGR2GRAY,1);         


            Utils.bitmapToMat(bmCrop, crop);

            // Mat src, Mat dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, double C
            Imgproc.adaptiveThreshold(crop, threshed, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C, …
Run Code Online (Sandbox Code Playgroud)

android opencv

3
推荐指数
1
解决办法
5392
查看次数

标签 统计

android ×1

opencv ×1