从源代码构建OpenCV 3.4 – 未生成CV2.so – Ubuntu16.04
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了从源代码构建OpenCV 3.4 – 未生成CV2.so – Ubuntu16.04,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1993字,纯文字阅读大概需要3分钟。
内容图文
这不是我第一次构建opencv,但是,我不确定为什么没有生成cv2.so.我使用anaconda,这是我的cmake线:
cmake -D CMAKE_INSTALL_PREFIX=../output -D PYTHON_EXECUTABLE=/home/b.safwat/anaconda2/envs/opencv3.4/bin/python WITH_FFMPEG=YES -enable-shared --disable-static -D BUILD_NEW_PYTHON_SUPPORT=ON ..
输出没有显示numpy,我怀疑这部分:
-- Python (for build):
/home/<user>/anaconda2/envs/<myenv>/bin/python3
-- Pylint:
/home/<user>/anaconda2/bin/pylint (ver: 1.6.4, checks: 113)
但是,我安装了numpy并正常运行.
有没有人成功构建最新版本?他们改变了cv2.so库的名字吗?
解决方法:
我在生成Python 2.7绑定时遇到了同样的问题.通过手动检查opencv / CMakeLists.txt文件找到解决方案.我认为转换Python 3的变量可能会解决您的问题.
症状
在开始构建opencv之前,您已经可以通过检查包含要构建或不可用的行的cmake命令输出来判断是否将获取python绑定文件cv2.so.在我的情况下,我有:
Unavailable: cnn_3dobj cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv dnn_modern hdf java matlab ovis python2 python3 sfm viz
注意python2和python3最后是如何显示为不可用的.
修复(如果需要,适应python3的python2引用)
在CMakeLists.txt中有一行包含
BUILD_opencv_python2
它旁边是一串生成cmake命令输出的行.它们很有用,因为它们告知了cmake期望的变量.特别是,对numpy的引用是构建python绑定所必需的.从这些方面,我了解到对于opencv 3.4.1,我必须使用以下命令来调用cmake:
-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include
-D PYTHON2_NUMPY_VERSION=1.12.1
我可以从您的命令中看到您使用了已弃用的BUILD_NEW_PYTHON_SUPPORT标志.对于opencv 3.4,标志名称已更改,并且根据CMakeLists.txt的内容,新变量名称为:
-D BUILD_opencv_python3=ON
我还在另一个SO评论中读到,如果没有以下标志(未经测试),将不会生成cv2.so:
-D BUILD_EXAMPLES=ON
TL; DR
编辑您的命令:
>删除:-D BUILD_NEW_PYTHON_SUPPORT = ON
>添加:-D BUILD_opencv_python3 = ON -D BUILD_EXAMPLES = ON -D PYTHON3_NUMPY_INCLUDE_DIRS =< path_to_numpy> / core / include -D PYTHON2_NUMPY_VERSION =< your_numpy_version>
内容总结
以上是互联网集市为您收集整理的从源代码构建OpenCV 3.4 – 未生成CV2.so – Ubuntu16.04全部内容,希望文章能够帮你解决从源代码构建OpenCV 3.4 – 未生成CV2.so – Ubuntu16.04所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。