我有一张图片,我在 drwable 目录中找到了。我需要将它用作 mat 文件。
我在网站上发现我应该这样做
bitmap batt= bitmapFactory.decodeFile("path");
Utils.bitmapToMat(batt,mBatt);
但它似乎不起作用,
我做错了吗?
我用谷歌搜索了“opencv bitmap to mat”,前三个链接都解决了您的问题并提供了可能的解决方案......
似乎问题是不稳定的bitmapToMat()
功能。
对于解决方案,请查看 Google 给我的页面:
这里的前两个实际上是在stackoverflow上,当你输入你的问题时,它们不是显示为类似的问题吗?
祝你好运!
您发布的代码应该可以工作。您可能缺少的是初始化 mBatt 对象。
首先,声明batt对象应该是大写 B 的位图(也许这只是您问题代码中的一种类型):
Bitmap batt = bitmapFactory.decodeFile("path");
然后你应该做这样的事情,在 bitmapToMat 之前初始化 mBatt 对象:
// battHeight and battWidth should have the height and width of your bitmap...
Mat mBatt = new Mat(battHeight, battWidth, CvType.CV_8UC1);