对于一个程序宅来说,一直有想法把C++,opencv,python结合起来,python的并发性优点,opencv的图像处理算法的优点,C++的灵活,然后就开始了下面的旅程:

配置版本:VS2008+Python2.7+OpenCV2.1.0

源码:

OpenCV2.1.0  sampes里面的Python例程camera.py:

将其放到VS2008的例子python的工程目录下:

然后就开始写代码了:

#include "stdafx.h" #include "python.h" #include <tchar.h> #define _AFXDLL  #include "stdafx.h" #include <stdio.h> #include <string> #include <iostream> #include <fstream> #include <cstring> #include <afx.h> #include <iostream> using namespace std; #pragma comment (lib,"python27.lib")   int test1() {    Py_Initialize();    CString strPath;    GetCurrentDirectory(MAX_PATH,strPath.GetBuffer(MAX_PATH));      char ch[BUFSIZ];    WideCharToMultiByte( CP_ACP, WC_COMPOSITECHECK, (strPath.GetBuffer(strPath.GetLength() + 1)), -1, ch, sizeof(ch), NULL, NULL );    ;   strPath.ReleaseBuffer();    string tmpStr;  cout << ch << endl;     int len = strlen(ch);      string fileName = "\\camera.py";     for( int i = 0; i < int(fileName.length()); i++)      ch[len++] = fileName[i];     ch[len] = '\0';      cout << ch << endl;     PyObject *pyfile = PyFile_FromString(ch,"r");    if(pyfile==NULL)  {       printf("exit 1");         system("pause");      return 1;   }   FILE *f = PyFile_AsFile(pyfile);   if(f==NULL)   {       printf("exit 2");         system("pause");      return 1;       }   PyRun_AnyFileEx(f,"camera.py",0);     Py_Finalize();  } int main() {     test1();     system("pause"); }

点击Run后,打开摄像头如下:

调用如下:

转载于:https://blog.51cto.com/3754839/1401587

[置顶]       Python编程-混合编程(C++,python,opencv)实现相关推荐

  1. Qt 调用Python引擎混合编程

    0.前言 使用Qt和Python做混合编程,充分发挥Qt GUI的图形化框架优势和Python数据处理的计算能力.复杂的计算可用到Python众多三方库,将Python需要执行的功能写成py文件,做成 ...

  2. python fortran混合编程_python fortran c 混合编程

    背景 因为编程需要使用python和fortran(或者c,c++)混合编程,所以进行了一些资料查询和实验.首先尝试了f2py,但是这个项目已经很久没有更新,为了以后兼容性考虑(后期可能会使用到c++ ...

  3. C++调用Python(混合编程)函数整理总结

    文章目录 C++调用python概述 相关官方文档 相关函数 1.初始化python解释器环境 2.调用python脚本的静态简单方式 3.动态加载python模块并执行函数 3.1不带参数和返回值的 ...

  4. 实现C#和Python高效率混合编程

    为什么C#和Python要屡屡进行混合编程呢?之前我们提到了使用托管C++封装Python的核心库为一个托管dll,然后供C#调用的途径,这种方式算是一种比较科学的方式.但是它仍然有两个小的问题,一来 ...

  5. 【胶水语言】 Python 的混合编程

    Python运行 JavaScript, C/C++, PHP JavaScript C/C++ DLL 文件生成流程 PHP PHP 安装流程 JavaScript 这里介绍一个自带的 Python ...

  6. python+java混合编程

    python通常在编程中难以单独的完成一个系统,因此在开发中常常需要借助其他语言开发主要程序,使用python对数据进行处理. 在通过java向python传递数据的时候通常是一些小的数据,例如:字符 ...

  7. python java混合编程_详解java调用python的几种用法(看这篇就够了)

    java调用python的几种用法如下: 在java类中直接执行python语句 在java类中直接调用本地python脚本 使用Runtime.getRuntime()执行python脚本文件(推荐 ...

  8. python c 混合编程 用c循环_混合编程:用 C 语言来扩展 Python 大法吧!

    Python 实在是一种让人上瘾的编程语言,简洁的语法+丰富的扩展包,几乎可以用 Python 做任何事情,唯一的黑点似乎就是「慢」,但是与高效的编译语言 C\C++ 互联以后,可以解决脚本语言运行速 ...

  9. python fortran混合编程输入矩阵_如何将动态数组从Python传递到Fortran动态链接库

    我在Python调用fortran dll时遇到了一些问题,我真的需要一些帮助和建议. 我的问题是将动态数组传递给函数(由Fortran DLL提供).在 例如,我有一个带有动态数组的类型:Modul ...

最新文章

  1. 天联高级版客户端_天联客户端登录的KIS旗舰版打印单据问题
  2. CloudStack基本概念-Zone,Pod,Cluster,Host
  3. 杀毒软件引起的WinCE编译出错问题
  4. 介绍一个修改 Visual Studio Code 侧边框颜色的扩展 Peacock
  5. matlab2012b函数问题,MATLAB版本(2012b 64bit)在尝试调用svmtrain函数时报错
  6. 六款Linux常用远程连接工具介绍
  7. froala 的使用
  8. 软件开发项目各阶段交付物列表
  9. google三篇重要论文(英文原文)
  10. ZigBee协调器和终端通信
  11. 南阳oj 括号配对问题
  12. 周立波实意搞慈善 沈顺坤高举双手把他赞
  13. 360奇舞团钟恒:选用Vue.js进行组件化开发,我们遇到了哪些坑?
  14. 动态规划法(二)找零钱问题
  15. 3--表格table 个人简历
  16. C语言数据结构学习——数组和广义表
  17. 图片打不开怎么办?只需这样操作
  18. 手写简易版web框架
  19. 图片与Base64数据转换存储
  20. 手机怎么在日历上设置每月19号提醒?

热门文章

  1. 【mysql】悲观锁和乐观锁的实现原理
  2. 数据倾斜是什么以及造成的原因?
  3. 了解MyBatis框架
  4. 普通地图的六大要素_地图的基本要素是什么 主要是哪三大要素
  5. mysql mybatis 主键id_MyBatis+MySQL 返回插入的主键ID
  6. spring mysql中文乱码问题_解决Spring下MySQL出现乱码的问题
  7. 码匠编程:零基础从前端入门到前端开发工程师路线
  8. 年薪20万的前端工程师成长线路指南!
  9. 自学编程的八大误区!克服它们,豁然开朗!
  10. micropython做产品开发_关于MicroPython是否可以真正用在产品开发的讨论