0

我有一张图片,我在 drwable 目录中找到了。我需要将它用作 mat 文件。

我在网站上发现我应该这样做

bitmap batt= bitmapFactory.decodeFile("path");

Utils.bitmapToMat(batt,mBatt);

但它似乎不起作用,

我做错了吗?

4

2 回答 2

0

我用谷歌搜索了“opencv bitmap to mat”,前三个链接都解决了您的问题并提供了可能的解决方案......

似乎问题是不稳定的bitmapToMat()功能。

对于解决方案,请查看 Google 给我的页面:

  1. Java openCV - 将位图转换为 Mat 时出错
  2. 在 Android 上的 OpenCV 中的 Bitmap 和 Mat 之间转换的正确方法?
  3. 一个简单的问题 - 如何在 Bitmap 和 Mat 之间转换?

这里的前两个实际上是在stackoverflow上,当你输入你的问题时,它们不是显示为类似的问题吗?

祝你好运!

于 2013-01-09T20:50:58.700 回答
0

您发布的代码应该可以工作。您可能缺少的是初始化 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); 
于 2013-02-14T13:50:08.557 回答