转载记录,侵删:https://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html
本篇解决两个问题:
1.opencv在Ubuntu16.04的安装问题。
2.import cv2的问题: No module named 'cv2'和undefined symbol: PyInt_Type的问题。
记录一下。以前装的时候会遇到各种编译问题,这种方法在配置好环境之后,会一路畅通无阻,所以专门写一下。
安装opencv
我的电脑是以前装好的anaconda。所以直接从安装opencv开始。
下载:
https://github.com/opencv/opencv/releases/tag/3.3.0
配置环境,以前配置的,我也忘了,网上很多。
下载opencv source
解压后,新建build文件夹
终端$cmake-gui
打开cmake的gui界面,开始进行配置。此处如果没有安装cmake-gui,则系统会提示你如何安装,安装即可。
打开cmake,界面如下。选择源码文件夹:就是刚才解压出来的文件夹。选择build文件夹:就是刚才让你新建的那个。此处的只不过是文件名不一样,opencvx86就是我所说的build文件夹。
然后其他的按图设置即可。
然后经过一段时间的等待,配置好后,就会出现如下界面。找到以下三个个选项:将cmake_build_type设置为release;将cmake_install_prefix设置为/usr/local;将cuda_generation 设置为Kepler(tesla / GTX1080可行,其他暂时不知)。
都配置好后,点击Generate按钮。
进入build目录可以查看Makefile文件,可以留意文件的生成时间是否和刚才的生成时间一致。
然后在build文件夹处打开终端:
$make
$sudo make install
import cv2
https://stackoverflow.com/questions/19876079/opencv-cannot-find-module-cv2
https://blog.csdn.net/qq_34544129/article/details/81946494
如果出现 no module的话,首先,需要把cv2.so从安装好的opencv处拷贝至此处:
/usr/local/lib/python3.6/site-packages/cv2.so
根据自己要使用的Python版本进行修改,我的是3.6。
然后再次import cv2试试。
如果没成功,并且出现:
undefined symbol: PyCObject_Type
undefined symbol: PyCInt_Type
则尝试以下方法:
1.
在~/.bashrc文件中增加一行命令,操作步骤为:
$gedit .bashrc或者使用vim .bashrc
在打开的.bashrc文件中的最后增加如下一行:
export PYTHONPATH="/home/userx/anaconda3/lib/python3.5/site-packages:$PYTHONPATH"
2.
终端执行如下命令:
$conda update anaconda-navigator(此处需要安装anaconda)
$conda update navigator-updater
$conda install opencv
我到此处就成功了。
你如果还不行的话,那我也不知道了...