java - 您可以将 MatOfRect 转换为 MatOfRect2d 吗?
问题描述
我正在尝试让这个应用程序在我的计算机上运行。我正在使用 android studios,它是用 java 编写的。我有 android studio 4.1.1 并且正在使用 OpenCV 3.4.10。
这一行有一个错误:Dnn.NMSBoxes(boxes, confidences, confThreshold, nmsThresh, indices);
其中 box 是 MatOfRect 并且应该是 MatOfRect2d 但我不知道如何转换它。
他解释代码的 Youtube 视频:https ://www.youtube.com/watch?v=pMZsttT57Zo
解决方案
在 OpenCV 的文档中, Dnn.NMSBoxes(..) 接受MatOfRect2d作为第一个参数Documentation。进入编程部分,第 285 行使用MatOfRect参数化。因此,将 MatOfRect 显式类型转换为MatOfRect2d很重要。
为此,请在相应的行号中更改以下内容
- 第 217行将 List<Rect> 更改为 List<Rect2d>。
- 行号 261 add(new Rect2d(left,top,width,height))。
- 行号 277 Rect2d[] boxesArray = rects.toArray(new Rect2d[0])。
- 行号 285将该行替换为以下内容。
MatOfRect2d bbox = new MatOfRect2d();
bbox.fromList(rects);
- 最后,在第 293 行,将Rect替换为Rect2d
希望您会发现错误消失了。
希望这有帮助!
推荐阅读
- arrays - Google 表格 - 从单元格中的文本中过滤电子邮件
- android - 第二次查看时 ViewPager2 中的片段为空白
- asp.net-mvc - 使用 Microsoft MSAL 破坏 AntiforgeryToken
- java - 获取 java.lang.Object 对象的主类(Class 对象的 T?)
- node.js - Nodejs 中的 HTTPS - 错误:06065064 数字信封例程 evp_decryptfinal_ex 错误解密
- jquery - React 中是否有 JQuery 的 .proxy() 替代品?
- node.js - Google Calendar API 在运行正常后几天失败
- u-sql - 使用 USQL 自定义提取器读取多行 Json
- jquery - 将值从 razor paze 解析为 action 方法
- python - 即使在python3完成后子进程也没有退出正在运行的进程,但在python2中确实退出了