我需要使用ArUco C++ library作为我的主要编程语言是Python的项目的一部分。我无法在Anaconda环境中的系统上安装python wrapper for ArUco。它只是抛出错误。所以我想我可以用C ++在OpenCV中安装和编写代码,并可以将结果传递给我的主要Python代码。可能吗?
答案 0 :(得分:1)
您要检测ArUco制造商吗?如果是这样,您可以尝试使用包含ArUco marker detection (aruco module)模块的contrib
模块的OpenCV 3.2。这个Aruco in opencv网页有python代码示例。
在Windows 32位或64位平台上,您可以使用此site的OpenCV3.2
预先构建的二进制文件获取contrib
用于Python 3.5或3.6。它可以通过pip install {filename}.whl
安装到Anaconda,因为conda install
不支持whl文件。
答案 1 :(得分:0)
你也可以使用boost python在C ++中轻松编写python函数!
http://www.boost.org/doc/libs/1_63_0/libs/python/doc/html/index.html
// non-compiling example:
namespace py = boost::python;
// you have access to all python builtins using the py:: namespace
py::list create_list(py::dict dictionary, py::tuple tuple);
为了很好地将OpenCV数据传递给python或从python传递,有很多支持:
http://www.boost.org/doc/libs/1_63_0/libs/python/doc/html/numpy/tutorial/ndarray.html
// non-compiling example:
namespace np = boost::python::numpy;
np::ndarray modify_image(np::ndarray image);
我不确定opencv数据是否可以直接以某种方式使用......可能是的。