this algorithm is patented and is excluded in this configuration; set opencv_enable_nonfree cmake option and rebuild the library in function 'cv::xfeatures2d::surf::create'
时间: 2023-04-24 22:07:00 浏览: 124
这个算法是受专利保护的,因此在这个配置中被排除了。请设置opencv_enable_nonfree cmake选项并重新构建库,以便在cv::xfeatures2d::surf::create函数中使用它。
相关问题
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv_contrib\modules\xfeatures2d\src\surf.cpp:1028: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'cv::xfeatures2d::SURF::create'
您遇到的错误是由于使用的是不包含受专利保护的算法的 OpenCV 配置导致的。在默认情况下,OpenCV 不包含受专利保护的算法,例如 SURF。要解决此问题,您需要重新构建 OpenCV 库并启用 OPENCV_ENABLE_NONFREE CMake 选项。这将启用受专利保护的算法。请按照以下步骤操作:
1. 下载 OpenCV 源代码并解压缩。
2. 进入解压后的 OpenCV 目录。
3. 创建一个新的目录(例如 build)作为构建目录。
4. 在构建目录中运行 CMake 命令,启用 OPENCV_ENABLE_NONFREE 选项:
```
cmake -DOPENCV_ENABLE_NONFREE=ON ..
```
5. 运行 make 命令来构建 OpenCV 库:
```
make
```
6. 构建完成后,您可以将生成的库文件链接到您的项目中,并重新运行您的代码。
请注意,启用 OPENCV_ENABLE_NONFREE 选项可能需要满足一些法律和许可要求。在使用之前,请确保您了解并遵守适用的法律和许可协议。
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv_contrib\modules\xfeatures2d\src\surf.cpp:1028: error: (-213:The function/feature is not implemented) This algorithm i
这个错误通常是由于你使用的版本的 OpenCV 不支持所选的算法或特征。在这种情况下,你需要检查你的代码,确保你选择的算法和特征在你的 OpenCV 版本中是可用的。你可以查看 OpenCV 的文档,了解每个版本支持哪些算法和特征。
如果你正在使用 OpenCV 4.x 版本,你可以尝试使用 SIFT 或 SURF 的另一种实现,例如 ORB 或 AKAZE。这些实现是开源的,不受专利限制,因此在 OpenCV 4.x版本中始终可用。
如果你正在使用 OpenCV 3.x 版本,则可以尝试安装 opencv-contrib-python 包以获取更多的算法和特征。
如果问题仍然存在,请提供更多的代码和错误信息,以便我能够更好地帮助你解决问题。