Ubuntu下使用Anaconda安装opencv
最近在Ubuntu16.04下使用Anaconda安装opencv,碰到很多坑,记录备忘。
cv2.VideoCapture(filename) 返回总为False,路径什么检查都没问题,cv2.CAP_PROP_FPS值总是5,应该是缺了某些解码依赖包。
1.0:Ubuntu解决方法
推荐第一步配置conda为清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --append channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes
修改conda配置信息:
vim ~/.condarc
改为:关键点 删除 - defaults 增加 ssl_verify: false,如果不太清楚如何修改,直接把下方内容替换掉~/.condarc中的内容
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/Paddle/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/fastai/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
show_channel_urls: true
ssl_verify: false
保存以后Ubuntu的这个问题就解决了。
根据这篇博文,我在 /opt/opencv/opencv-3.2.0/modules/videoio/src/cap_ffmpeg_impl.hpp 里最顶端添加了:
#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)
#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
#define AVFMT_RAWPICTURE 0x0020
1
2
3
保存退出,重新编译,在原来出错的地方很顺畅的走了下去。0.0
还没有编译完,测试后再更
————————————————
版权声明:本文为CSDN博主「GlLamant」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guo_lei_lamant/article/details/81568346
在百度上看到许多安装过程特别麻烦的~~还要手动下载安装。。开门见山,三行命令。
第一步:添加源。
sudo add-apt-repository ppa:djcj/hybrid
第二步:更新源。
sudo apt-get update
第三步:下载安装。
sudo apt-get install ffmpeg
如上,就安装好了~
————————————————
版权声明:本文为CSDN博主「lwgkzl」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lwgkzl/article/details/77836207
解决方案:安装ffmpeg(必须先装ffmpeg再安装OpenCV)
1.安装ffmpeg
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd source_directory
./configure --enable-shared --disable-static
make
sudo make install
检查是否安装成功
ffmpeg
2.安装opencv
安装之前要先装好一堆依赖包,参考官网 http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html
安装过程出现问题可以参考部分解决方案
写下这篇博客,希望其他人安装时能够轻松一点,少几次还原重装......
版本: ubuntu18.10 OpenCV-4.1.0
首先,OpenCV 有在ubuntu上安装的官方文档:https://docs.opencv.org/4.1.0/d7/d9f/tutorial_linux_install.html
大家可以参照官方文档进行操作
1.安装相关软件包
打开终端,安装以下软件包
-
sudo apt install build-essential
-
sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
-
sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
第三行中,可能会出现 无法定位软件包libjasper-dev 的错误提示
查阅资料后找到解决方法如下(原文:https://blog.csdn.net/weixin_41053564/article/details/81254410)
-
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
-
sudo apt update
-
sudo apt upgrade
-
sudo apt install libjasper1 libjasper-dev
其中 libjasper1 是 libjasper-dev 的依赖包
2.获取Source
接下来获取 OpenCV 的 source 文件,直接到官网下载:https://opencv.org/releases/
点击对应版本的 Source 即可下载
下载成功后解压,解压到哪个文件夹都可以
3.用 CMake 从 Source 构建 OpenCV
进入解压出来的OpenCV-4.1.0文件夹,创建一个新文件夹,我创建的叫 build
进入新文件夹,打开终端,进入这个文件夹
执行命令
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
如果报错,那么去掉 -D后面的空格再尝试一下,即
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
这之中 , /usr/local 是 OpenCV 的安装路径
接下来开始编译
sudo make
也可以使用多线程进行编译
sudo make -j3
j 后面的数字是你想要使用的线程数量
开始编译后,等待编译结束,通常要挺长时间
编译结束后
sudo make install
完成后,OpenCV 就安装好了,接下来要配置 OpenCV 的编译环境
4.配置环境
这部分参考了 https://blog.csdn.net/sandalphon4869/article/details/94398876#3launchjson_144
首先将OpenCV的库添加到路径,从而可以让系统找到
打开opencv.conf ,打开后很可能是空白
sudo gedit /etc/ld.so.conf.d/opencv.conf
在文末添加
/usr/local/lib
保存后,执行如下命令使得刚才的配置路径生效
sudo ldconfig
接下来配置 bash
sudo gedit /etc/bash.bashrc
在文件最末尾添加
-
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
-
export PKG_CONFIG_PATH
保存,执行如下命令使得配置生效
source /etc/bash.bashrc
然后更新
sudo updatedb
到这里配置就完成了
5.测试
转到 opencv-4.1.0/sample/cpp/example_cmake 目录下,打开终端
运行
-
cmake .
-
make
-
./opencv_example
如果摄像头打开,左上角出现 Hello OpenCV 则证明安装成功
可以直接pip安装opencv,但无法读取视频,需要编译源码。
Anaconda安装opencv过程
1.不能在安装Anaconda的情况下编译opencv,编译会链接Anaconda的库,编译程序会出错。已安装先移除
1.到根目录下,打开终端并输入:
sudo gedit ~/.bashrc
2.在.bashrc文件末尾用#号注释掉之前添加的路径(或直接删除):
#export PATH=/home/lq/anaconda3/bin:$PATH
保存并关闭文件
3.使其立即生效,在终端执行:
source ~/.bashrc
4.anaconda修改位置或删除
5.最好重启
1
2
3
4
5
6
7
8
9
2 安装opencv
Prerequisites
# Install build tools
$ sudo apt-get install build-essential cmake git
# Install OpenCV dependencies
$ sudo apt-get install pkg-config libgtk2.0-dev
# Install ssl for https, v4l for video
$ sudo apt-get install libssl-dev libv4l-dev v4l-utils
Install OpenCV 3.2
$ git clone https://github.com/opencv/opencv.git
$ cd opencv/
$ git checkout tags/3.2.0
$ cd opencv/
$ mkdir build
$ cd build/
$ cmake \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
\
-DWITH_CUDA=OFF \
\
-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_PERF_TESTS=OFF \
..
# If CMake hangs during "ICV: Downloading ippicv_linux_20151201.tgz..."
$ ICV_PATH=../3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz &&
\
ICV_URL=https://github.com/opencv/opencv_3rdparty/raw/ippicv/master_20151201/ippicv/ippicv_linux_20151201.tgz && \
rm -f $ICV_PATH && wget $ICV_URL && mv ippicv_linux_20151201.tgz $ICV_PATH
$ make -j$(nproc --all)
$ sudo make install
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
3 在anaconda安装opencv
把/usr/local/lib/python2.7/site-packages/cv2.so复制到anaconda对应目录下
pip install opencv-python
1
————————————————
版权声明:本文为CSDN博主「巽二」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_37868504/article/details/79053536