你可以使用 pybind11 将 cv::Mat 类型转换成 NumPy 数组,然后将其返回给
。 首先,你需要在
代码中包含 pybind11 头文件: </p>
<h1>include</h1>
<p>函数,将 cv::Mat 类型的结果作为输入参数:
void process_mat(const cv::Mat &mat) { // Do some processing on the mat here… } 在 pybind11 中,你可以使用下面的代码将 cv::Mat 类型转换为 NumPy 数组:
pybind11::array mat_to_array(const cv::Mat &mat) { int rows = mat.rows, cols = mat.cols, type = mat.type(); pybind11::array_t
函数绑定到你的
函数: </p>
<p>PYBIND11_PLUGIN(example) { pybind11::module m("example", "pybind11 example plugin"); m.def("process_mat", &process_mat, "Process a cv::Mat object"); m.def("mat_to_array", &mat_to_array, "Convert a cv::Mat object to a NumPy array"); return m.ptr(); }
这样,你就可以在
mat_to_array 函数,将 cv::Mat 对象转换为 NumPy 数组,并将其返回给
Original: https://blog.csdn.net/weixin_41194129/article/details/122362179
Author: 源代码杀手
Title: AI模型设计:完美demo实现C调用python的tensorflow模型pb(附件源码python与C/C++动态库互相调用)
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/520745/
转载文章受原作者版权保护。转载请注明原作者出处!