No member named 'drawDetectedMarkers' in namespace 'cv::aruco'
时间: 2023-07-15 18:15:25 浏览: 150
Windows Powershell方法(对象能做什么)
这个错误可能是因为你的代码中使用了OpenCV的aruco模块中的一个函数 `cv::aruco::drawDetectedMarkers`,但是该函数可能在你的OpenCV版本中不存在或者没有正确包含该头文件。
你可以检查一下以下几点:
1. 确认你的OpenCV版本是否包含aruco模块。你可以在代码中添加以下语句来检查:
```cpp
#include <opencv2/aruco.hpp>
```
如果编译通过,就说明你的OpenCV版本中包含aruco模块。
2. 检查是否正确使用了`cv::aruco::drawDetectedMarkers` 函数。该函数需要传入一个 `cv::Mat` 类型的图像和检测到的标记信息,例如:
```cpp
cv::Mat image;
std::vector<int> markerIds;
std::vector<std::vector<cv::Point2f>> markerCorners;
cv::aruco::drawDetectedMarkers(image, markerCorners, markerIds);
```
如果参数传递出错,也有可能导致该错误。
如果以上两点都没有问题,你可以尝试更新你的OpenCV版本或者查看OpenCV的文档,确认该函数是否存在。
阅读全文