2 回答
TA贡献1876条经验 获得超6个赞
- 解决了 -
第一期
AndroidManifest.xml 需要这样的权限;
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
第 2 期
文件路径错误并更改;
Mat img = Imgcodecs.imread("/sdcard/Download/bigpicture.png");
Mat templ = Imgcodecs.imread("/sdcard/Download/template.png");
String outFile = "/sdcard/Download/result.png";
到
String path = Environment.getExternalStorageDirectory().getPath();
Mat img = Imgcodecs.imread(path + "/Download/bigpicture.png");
Mat templ = Imgcodecs.imread(path + "/Download/template.png");
String outFile = path + "/Download/result.png";
感谢您的关注和努力。
TA贡献1735条经验 获得超5个赞
确保 matchTemplate() 的所有参数都具有正确的大小和类型。来自 OpenCV 文档:
image – 搜索运行的图像。它必须是 8 位或 32 位浮点数。
templ - 搜索的模板。它必须不大于源图像并且具有相同的数据类型。
所以请确保您的 roi 是类型(8 位或 32 位浮点)。还要检查您的图像是否正确打开,因为如果模板太小,它会给出该错误。
添加回答
举报