android opencv旋转角度,将Android Bitmap转换为OpenCV Mat并向后转换

博主在尝试将Android的Bitmap转换为OpenCV的Mat对象,然后进行图像处理再转换回Bitmap显示,但遇到了NoClassDefFoundError。已尝试StackOverflow上的解决方案,包括使用Utils工具类进行转换,以及在Activity中初始化OpenCV,但问题依然存在。寻求进一步的帮助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我想简单地将位图从Android转换为OpenCV的Mat对象。 Stack Overflow上经常讨论此主题。 例如:

将Mat转换为Android的Bitmap Opencv ;

使用Android相机捕获图像后将Bitmap转换为Mat ;

templateMatching mattoBitmap opencv for android

还有更多要找。 我在这个答案中遵循了这些内容,但我仍然无法以正确的方式完成任务。

最小代码:

//First convert Bitmap to Mat Mat ImageMat = new Mat ( image.getHeight(), image.getWidth(), CvType.CV_8U, new Scalar(4)); Bitmap myBitmap32 = image.copy(Bitmap.Config.ARGB_8888, true); Utils.bitmapToMat(myBitmap32, ImageMat); //Do smth. Imgproc.cvtColor(ImageMat, ImageMat, Imgproc.COLOR_RGB2GRAY,4); //Then convert the processed Mat to Bitmap Bitmap resultBitmap = Bitmap.createBitmap(ImageMat.cols(), ImageMat.rows(),Bitmap.Config.ARGB_8888);; Utils.matToBitmap(ImageMat, resultBitmap); //Set member to the Result Bitmap. This member is displayed in an ImageView mResult = resultBitmap;

(注意:图像是提供给这行代码的位图)

错误:

08-07 15:13:59.188:E / AndroidRuntime(2115):致命exception:主要

08-07 15:13:59.188:E / AndroidRuntime(2115):java.lang.NoClassDefFoundError:org.opencv.core.Mat

但我的import是:

import android.graphics.Bitmap; import android.graphics.Bitmap.Config; //OpenCV import org.opencv.android.Utils; import org.opencv.core.CvType; import org.opencv.core.Mat; import org.opencv.core.Scalar; import org.opencv.imgproc.Imgproc;

非常感谢任何帮助。 谢谢DanS

初始化后,您只能使用OpenCV。 所以你需要像这样初始化它:

1.创建一个回调:

private BaseLoaderCallback mOpenCVCallBack = new BaseLoaderCallback(this) { @Override public void onManagerConnected(int status) { switch (status) { case LoaderCallbackInterface.SUCCESS: //DO YOUR WORK/STUFF HERE break; default: super.onManagerConnected(status); break; } } };

2.您需要在Activity的onResume方法中初始化回调:

@Override protected void onResume() { super.onResume(); OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_8, this, mOpenCVCallBack); }

就是这样,我希望它有用:D

你应该将OpenCV lib dependecy添加到你的android prj config(properties-> Android-> Library – > add [opencv andrid prg])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值