Pybind11教程

参考链接:

  1. Pybind11 使用指南<示范文档>
  2. Pybind11 类、结构体
  3. Pycharm添加搜索路径
  4. Visual studio + Pybind11 + OpenCV 环境配置、调用 <不需要改dll、pyd>
  5. OpenCV setup,py 设置

有时候为了追求性能,通常我们会将一些实现放在C++上,但是当我们调用的时候,又会在python端上(因为方便)。Pybind11就是这样一个很好的工具,可以把已经实现好的C++代码转化为Python能够调用的形式。

01 开发流程

基于Pybind11的开发流程如下:

496753776-5e512e48a8af4_articlex

  1. Pybind11 环境配置
  2. C++代码编写
  3. 打包C++程序
  4. setup.py
  5. 添加Pycharm搜索路径

02 Pybind11 环境配置

Pylind11这个包不需要编译,直接 include 包含头文件即可,下载链接:Pylind11-V2.5,先下载项目,解压到不含中文的目录中:

image-20200824193905633

新建一个空项目,并改到 x64 配置:

image-20200824193942711

添加属性表,点开解决方案属性,包括Pybind11以及Python的配置:

  1. 包括进 python pybind11 的头文件(推荐使用anaconda全家桶):

    image-20200824194634959
  2. 链接 pythonlibs,也就是添加库目录:

    图片名称
  3. 链接器中添加 pythonlib 依赖项:

    图片名称

这样,整个C++跟Python的环境就配好了,之后写代码即可,关于OpenCV的配置教程,请查看链接。

拓展:

  1. 传递数组向量
  2. 传递numpy数组
posted @ 2020-08-26 13:10  疯狂的荷兰人  阅读(8367)  评论(0编辑  收藏  举报