opencv编译之修改python绑定so名字
文章目录
编译静态库
将python binding 的 cv2.so 修改为其他名字
编译静态库
在编译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 …将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名字相关推荐
- Ubuntu16下编译安装Open Babel2.4.1和python绑定
上一篇介绍的是CentOS 7下编译安装Open Babel2.4.1和python绑定点击打开链接 一.Open Babel简介 Open Babel是一款开源自由软件,使用Open Babel可以 ...
- CentOS 7下编译安装Open Babel2.4.1和python绑定
一.Open Babel简介 Open Babel是一款开源自由软件,使用Open Babel可以将一种化学结构类型的文件格式转换成另一种文件格式,非常方便的进行各种类型的化学结构文件进行相互转换. ...
- 如何把opencv编译到matlab,c – 为OpenCV编译MATLAB绑定
我正在尝试编译OpenCV 3.0的MATLAB绑定,即 Github的当前版本.我一直收到以下错误: CMake Error at /opencv/modules/matlab/compile.cm ...
- python sip模块(为C和C++库创建Python绑定)
Python的一个特性是,它具有强大的功能,它能够使用C或C++编写的现有库,并使它们成为Python扩展模块.这种扩展模块通常被称为库的绑定. SIP是一种工具,它可以很容易地为C和C++库创建Py ...
- Python 绑定:从 Python 调用 C 或 C++
摘要:您是拥有想要从 Python 中使用的C或 C++ 库的 Python 开发人员吗?如果是这样,那么Python 绑定允许您调用函数并将数据从 Python 传递到C或C++,让您利用这两种语言 ...
- Ubuntu为julia安装深度学习框架MXNet(支持CUDA和OPenCV编译)
Ubuntu为julia安装深度学习框架MXNet(支持CUDA和OPenCV编译) 环境介绍与注意事项 下载源文件 安装依赖 编译 环境配置 安装MXNet 测试 后记 环境介绍与注意事项 Ubun ...
- java jar反编译后保存_java根据jar包反编译后修改再打包回jar的做法
1. 得到一个待要修改的jar包 2. 我的环境是windows,然后解压这个jar包,得到一堆class文件,这时候就找到你需要的那个class文件 3. 我首先是使用jd-gui工具看一下这个cl ...
- opencv-3.4.3 交叉编译并且移植到高通820开发板(包括Qt 5.11.2部分交叉编译及移植),NEON OpenCV编译
opencv-3.4.3 交叉编译并且移植到高通820开发板(包括Qt 5.11.2部分交叉编译及移植),NEON OpenCV编译 原文我是用有道笔记记录的,下面排版不是很好,可参看有道笔记原文:h ...
- 《OpenCv视觉之眼》Python图像处理十九:Opencv图像处理实战四之通过OpenCV进行人脸口罩模型训练并进行口罩检测
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
最新文章
- Appium 并发测试基于unitest
- EXCEL 电子表格MID 返回值 不能用于计算的问题
- java iterator如何知道数量_Java开发岗面试题基础篇(二)
- 【云计算】_8云视频与通信服务(完结)
- arcgis中欧氏距离操作_ArcGIS空间统计工具—平均中心与中位数中心
- android app内嵌h5页面,app内嵌h5页面:前端与原生语言的配合
- mybatis @sqlprovider
- python-mysql 基础知识记录
- 【HDOJ】4358 Boring counting
- 霍金遗作《十问:霍金沉思录》出版 马化腾作跋纪念
- libjpeg学习4:libjpeg-turbo之YUV
- ArcGIS中,一个点集里的点两两连线,比如有4个点,就连6条线
- oracle matlab函数返回值,如何实现在Oracle中应用存储过程调用MatLab函数(2)
- win10计算机管理字体糊,完美解决win10系统字体模糊
- 艾媒研报 |2019年腾讯控股(0700.HK)业务解读及发展趋势研究报告
- After Effects 学习
- 第11章-ThreadSpecificStorage
- 云计算演义(2)企业IT之王IBM互联网之王Google数据库之王Oracle狂奔在与关闭公有云赛跑的路上(上)
- HTTPS数字证书原理
- win2016开启ntp_Windows Server 2016-Windows 时间服务概览