ros kinetic 使用opencv4 检测与解码qr码

先说结论,只能说,不怎么样
这里kinetic自带的opencv3.3.1会与opencv4冲突,怎么办?
卸载cv_bridge,然后下载cv_bridge源码,好像文件夹是vision_opencv,
这里在编译cv_bridge的时候会遇到问题,
解决办法:
改三处
第1处:src/CMakeList.txt

if (OpenCV_VERSION_MAJOR VERSION_EQUAL 4)
add_library(${PROJECT_NAME}_boost module.cpp module_opencv3.cpp)
else()
add_library(${PROJECT_NAME}_boost module.cpp module_opencv2.cpp)
endif()

第2和3处:module_opencv3.cpp

UMatData* allocate(PyObject* o, int dims, const int* sizes, int type, size_t* step) const
UMatData* allocate(int dims0, const int* sizes, int type, void* data, size_t* step, AccessFlag flags, UMatUsageFlags usageFlags) const

大费周张后,你会发现这个效果并不理想,
告诉你个正确方向,使用aruco+zbar来做定位和解码,目前定位精度还在优化。

发布了51 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/windxf/article/details/105056520