如何在Ubuntu 16.04上的Anaconda环境中将OpenCV C ++代码与python代码集成?

时间:2017-03-02 00:55:11

标签: python c++ opencv anaconda wrapper

我需要使用ArUco C++ library作为我的主要编程语言是Python的项目的一部分。我无法在Anaconda环境中的系统上安装python wrapper for ArUco。它只是抛出错误。所以我想我可以用C ++在OpenCV中安装和编写代码,并可以将结果传递给我的主要Python代码。可能吗?

2 个答案:

答案 0 :(得分:1)

您要检测ArUco制造商吗?如果是这样,您可以尝试使用包含ArUco marker detection (aruco module)模块的contrib模块的OpenCV 3.2。这个Aruco in opencv网页有python代码示例。

在Windows 32位或64位平台上,您可以使用此siteOpenCV3.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数据是否可以直接以某种方式使用......可能是的。