文章目录

  1. 编译静态库

  2. 将python binding 的 cv2.so 修改为其他名字

  3. 编译静态库
    在编译opencv时,一般都是编译成为动态库,但是有时为了方便移植或者在其他地方安装,会需要将其编译成静态库的形式。这个时候只需要将cmake的 BUILD_SHARED_LIBS 参数设为 OFF即可 。可以采用如下命令来进行编译:

    cmake
    -D CMAKE_BUILD_TYPE=RELEASE
    -D CMAKE_INSTALL_PREFIX=/usr/local
    -D INSTALL_C_EXAMPLES=OFF
    -D INSTALL_PYTHON_EXAMPLES=OFF
    -D BUILD_EXAMPLES=OFF
    -D WITH_CUDA=OFF
    -D BUILD_SHARED_LIBS=OFF
    -D WITH_IPP=OFF
    -D BUILD_TESTS=OFF
    -D BUILD_PERF_TESTS=OFF
    -D WITH_1394=OFF
    -D WITH_FFMPEG=OFF
    -D WITH_OPENCL=OFF
    -D BUILD_opencv_python3=ON …

  4. 将python binding 的 cv2.so 修改为其他名字
    opencv编译python binding时,默认生成的.so文件名是 cv2.so 。有时候我们希望修改默认生成的文件名。可以通过如下步骤进行修改(假设希望修改后的库的名字为linemod.so):

修改opencv-source/modules/python/common.cmake 文件中的第56行

# old
OUTPUT_NAME cv2
# new
OUTPUT_NAME linemod # 注意没有.so后缀

2.修改opencv-source/modules/python/src2/cv2.cpp文件:

// 1. 修改 MODULESTR 变量的值
// old
#define MODULESTR "cv2"
// new
#define MODULESTR "linemod"/* 2. 如果是 python 3 则使用 PyInit_linemod 替换文件中出现的 PyInit_cv2; 如果是 python 2 则使用 initlinemod 替换文件中出现的 initcv2
*/

修改完成后,按照正常的编译流程编译opencv,就可以得到一个 linemod.so 文件 。

opencv编译之修改python绑定so名字相关推荐

  1. Ubuntu16下编译安装Open Babel2.4.1和python绑定

    上一篇介绍的是CentOS 7下编译安装Open Babel2.4.1和python绑定点击打开链接 一.Open Babel简介 Open Babel是一款开源自由软件,使用Open Babel可以 ...

  2. CentOS 7下编译安装Open Babel2.4.1和python绑定

    一.Open Babel简介 Open Babel是一款开源自由软件,使用Open Babel可以将一种化学结构类型的文件格式转换成另一种文件格式,非常方便的进行各种类型的化学结构文件进行相互转换. ...

  3. 如何把opencv编译到matlab,c – 为OpenCV编译MATLAB绑定

    我正在尝试编译OpenCV 3.0的MATLAB绑定,即 Github的当前版本.我一直收到以下错误: CMake Error at /opencv/modules/matlab/compile.cm ...

  4. python sip模块(为C和C++库创建Python绑定)

    Python的一个特性是,它具有强大的功能,它能够使用C或C++编写的现有库,并使它们成为Python扩展模块.这种扩展模块通常被称为库的绑定. SIP是一种工具,它可以很容易地为C和C++库创建Py ...

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

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

  6. Ubuntu为julia安装深度学习框架MXNet(支持CUDA和OPenCV编译)

    Ubuntu为julia安装深度学习框架MXNet(支持CUDA和OPenCV编译) 环境介绍与注意事项 下载源文件 安装依赖 编译 环境配置 安装MXNet 测试 后记 环境介绍与注意事项 Ubun ...

  7. java jar反编译后保存_java根据jar包反编译后修改再打包回jar的做法

    1. 得到一个待要修改的jar包 2. 我的环境是windows,然后解压这个jar包,得到一堆class文件,这时候就找到你需要的那个class文件 3. 我首先是使用jd-gui工具看一下这个cl ...

  8. opencv-3.4.3 交叉编译并且移植到高通820开发板(包括Qt 5.11.2部分交叉编译及移植),NEON OpenCV编译

    opencv-3.4.3 交叉编译并且移植到高通820开发板(包括Qt 5.11.2部分交叉编译及移植),NEON OpenCV编译 原文我是用有道笔记记录的,下面排版不是很好,可参看有道笔记原文:h ...

  9. 《OpenCv视觉之眼》Python图像处理十九:Opencv图像处理实战四之通过OpenCV进行人脸口罩模型训练并进行口罩检测

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

最新文章

  1. Appium 并发测试基于unitest
  2. EXCEL 电子表格MID 返回值 不能用于计算的问题
  3. java iterator如何知道数量_Java开发岗面试题基础篇(二)
  4. 【云计算】_8云视频与通信服务(完结)
  5. arcgis中欧氏距离操作_ArcGIS空间统计工具—平均中心与中位数中心
  6. android app内嵌h5页面,app内嵌h5页面:前端与原生语言的配合
  7. mybatis @sqlprovider
  8. python-mysql 基础知识记录
  9. 【HDOJ】4358 Boring counting
  10. 霍金遗作《十问:霍金沉思录》出版 马化腾作跋纪念
  11. libjpeg学习4:libjpeg-turbo之YUV
  12. ArcGIS中,一个点集里的点两两连线,比如有4个点,就连6条线
  13. oracle matlab函数返回值,如何实现在Oracle中应用存储过程调用MatLab函数(2)
  14. win10计算机管理字体糊,完美解决win10系统字体模糊
  15. 艾媒研报 |2019年腾讯控股(0700.HK)业务解读及发展趋势研究报告
  16. After Effects 学习
  17. 第11章-ThreadSpecificStorage
  18. 云计算演义(2)企业IT之王IBM互联网之王Google数据库之王Oracle狂奔在与关闭公有云赛跑的路上(上)
  19. HTTPS数字证书原理
  20. win2016开启ntp_Windows Server 2016-Windows 时间服务概览

热门文章

  1. cygwin下各盘挂载点
  2. mysqldump对mysql数据库的影响
  3. RHEL7 运行级别简介及切换操作
  4. 如何将Tomcat注册为系统服务
  5. vue学习笔记(四)- cmd无法识别vue命令解决方法
  6. 解决 screen 连接不上,提示“There is no screen to be resumed matching 18352.” 的问题
  7. 异常 try – finally 注意的地方
  8. 使用jQuery获取视口大小
  9. 在Rails资产管道中使用字体
  10. 如何列出npm用户安装的软件包?