https://stackoverflow.com/questions/39110507/call-a-c-function-from-python-and-convert-a-opencv-mat-to-a-numpy-array

testing.cpp:

来源: https://stackoverflow.com/questions/39110507/call-a-c-function-from-python-and-convert-a-opencv-mat-to-a-numpy-array
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <boost/python.hpp>

using namespace cv;

int main(){}

Mat visualize(const cv::Mat input_image)
{
    cv::Mat image;
    image = input_image;

namedWindow("Display Image", WINDOW_AUTOSIZE );
    imshow("Display Image", image);
    waitKey(0);

return image;
}

using namespace boost::python;
BOOST_PYTHON_MODULE(testing) // file name
{   
    def("visualize", visualize); //function name
}

python_caller.py:

import cv2
import numpy as np
from testing import visualize

A = cv2.imread("imageL.jpg")

visualize(A)

Makefile:

CFLAGS=`pkg-config --cflags opencv`

LDFLAGS=`pkg-config --libs opencv`

testing.so: testing.o
    g++ -shared -Wl,--export-dynamic -o testing.so testing.o -L/usr/lib -lboost_python -L/usr/lib/python2.7/config -lpython2.7 -L/usr/lib/x86_64-linux-gnu/ -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab

testing.o: testing.cpp
    g++ -I/usr/include/python2.7 -I/usr/include -fPIC -c testing.cpp

python 调用c++ boost相关推荐

  1. Python调用C/C++的种种方法

    Python调用C/C++的种种方法 原文:http://blog.csdn.net/fxjtoday/article/details/6059874 Python是解释性语言, 底层就是用c实现的, ...

  2. python调用c++动态库 linux_linux中使用boost.python调用c++动态库的方法

    前言 最近开始使用 robot framework 测试c++的动态库,robot framework 是跑在 windows 上面,c++动态库是跑在远程linux主机上面.测试办法是让 robot ...

  3. python语言常用的中文分词第三方库是_基于boost使用Python调用NLPIR(ICTCLAS2013)中文分词组件...

    最近需要用到中文分词,本来想省事,用python的第三方库结巴分词,但看了下API,计算文本关键词的方法没有没有返回关键字对应的权值,翻了下文档应该是不还不支持,只好继续使用中科院的那套ICTCLAS ...

  4. python调用c++总结

    python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单 ...

  5. python调用C++之pybind11入门

    python调用C++之pybind11入门 https://blog.csdn.net/fitzzhang/article/details/78988682 按照这个编译成功,调用报同样的错误: h ...

  6. python 调用c++ 传输图片

    python调用c++代码例子,实现图像,class通信 例子运行环境:ubuntu14.04,cmake2.8,boost,opencv c++ 代码:main.cpp

  7. c++ 内存管理_Python Bindings - 从 Python 调用 C/C++

    python 最被人诟病的问题是什么? 慢,这是被人诟病最多的问题,很少人知道具体原因,极少人愿意去深入了解并找到原因,更极少的人愿意付出时间去解决这个问题,很多人都是停留在抱怨吐槽阶段,知乎上有几个 ...

  8. 如何将c语言程序封装供python调用_C++调用python

    C++调用python 在C/C++中嵌入Python,可以使用Python提供的强大功能,通过嵌入Python可以替代动态链接库形式的接口,这样可以方便地根据需要修改脚本代码,而不用重新编译链接二进 ...

  9. Python 绑定:从 Python 调用 C 或 C++

    摘要:您是拥有想要从 Python 中使用的C或 C++ 库的 Python 开发人员吗?如果是这样,那么Python 绑定允许您调用函数并将数据从 Python 传递到C或C++,让您利用这两种语言 ...

最新文章

  1. poj1410(线段相交问题判断)
  2. MySQL-性能优化-索引和查询优化
  3. 看日本雅-miyavi演唱会
  4. Kylin开启Kerberos安全认证
  5. latex表插入的位置不对_VSCode_LaTex_英文amp;中文配置
  6. gson 不忽略空_仅在不为null或不为空的情况下,Gson序列化字段
  7. 完全卸载Oracle10
  8. Nova 操作汇总(限 libvirt 虚机) [Nova Operations Summary]
  9. 360优化开机速度后慢了_电脑开机速度慢的原因及解决方法
  10. 我在华为度过的 “两辈子”(学习那些在大厂表现优秀的人)
  11. Tableau安装详解及密钥申请
  12. cad刷新快捷键_36个CAD快捷键命令,18个CAD制图技巧,学会轻松玩转CAD
  13. css竖向箭头符号_用css制作空心箭头(上下左右各个方向均有)
  14. 中国海洋捕捞市场投资前景分析及“十四五”规划建议报告2022年版
  15. linux设置时间服务器
  16. 自律是一种虚伪的力量,成就感才是真实的力量
  17. nbu Linux 邮件告警,NBU常用命令1——介质管理
  18. 深入了解服务注册与发现
  19. linux命令名字由来--整理
  20. 假如时光倒流,我会这么学习Java 1

热门文章

  1. Linux进程-进程的创建
  2. 创建试图 失败_导致微服务失败的 11 个原因
  3. c语言编译器bug,关于c语言的一个小bug详解
  4. java新建常量_【Java】常量 - 每日坚果的个人空间 - OSCHINA - 中文开源技术交流社区...
  5. java调用dueros_DuerOS纯java sdk 支持windows,唤醒(仅linux),技能
  6. mysql查询分数前三个_Mysql 单表查询各班级总分前三名
  7. 怎样将c语言的字体变中文,请问,在c语言中如何将阿拉伯数字转换成汉字,求代码...
  8. java 升级1.8_升级java到1.8.0_111
  9. String 方法中 replace 和 replaceAll 的区别详解(源码分析)
  10. python数组和列表_Python-01矩阵、数组和列表等的总结