【发布时间】:2017-02-28 22:30:38
【问题描述】:
我已经尝试了很多在线帖子来安装 opencv,但它们不适用于 Ubuntu 16.04。谁能给我安装openCV 2.4.13的步骤吗?
【问题讨论】:
-
您使用我附上的脚本后是否遇到任何问题?
标签: python-2.7 opencv ubuntu
我已经尝试了很多在线帖子来安装 opencv,但它们不适用于 Ubuntu 16.04。谁能给我安装openCV 2.4.13的步骤吗?
【问题讨论】:
标签: python-2.7 opencv ubuntu
有一个脚本是我不久前制作的,用于安装最新版本的 OpenCV(截至此答案的最后更新为 4.2) 这是它的链接
https://github.com/rsnk96/Ubuntu-Setup-Scripts/blob/master/Build-OpenCV.sh
注意:对于 Ubuntu 16.10+,您必须进行一些小的依赖更改。看看 cmets 也是一样的。
由于您不想安装opencv contrib,并且您特别想要opencv 2.4.13,所以我修改了下面的脚本。我建议您在执行脚本之前仔细阅读脚本并了解正在发生的事情
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install build-essential -y
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt-get install python3-numpy python3-pip python3-scipy python3-matplotlib python-dev python-matplotlib python-numpy python-scipy -y
sudo apt-get install python-pip python-tk libqt4-dev libqt4-opengl-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant -y
echo "GUI and openGL extensions"
sudo apt-get install qt4-default libqt4-opengl-dev libvtk5-qt4-dev libgtk2.0-dev libgtkglext1 libgtkglext1-dev -y
echo "image manipulation libraries"
sudo apt-get install libpng3 pngtools libpng12-dev libpng12-0 libpng++-dev -y
sudo apt-get install libjpeg-dev libjpeg9 libjpeg9-dbg libjpeg-progs libtiff5-dev libtiff5 libtiffxx5 libtiff-tools libjasper-dev libjasper1 libjasper-runtime zlib1g zlib1g-dbg zlib1g-dev -y
echo "video manipulation libraries"
sudo apt-get install libavformat-dev libavutil-ffmpeg54 libavutil-dev libxine2-dev libxine2 libswscale-dev libswscale-ffmpeg3 libdc1394-22 libdc1394-22-dev libdc1394-utils -y
echo "codecs"
sudo apt-get install libavcodec-dev -y
sudo apt-get install libfaac-dev libmp3lame-dev -y
sudo apt-get install libopencore-amrnb-dev libopencore-amrwb-dev -y
sudo apt-get install libtheora-dev libvorbis-dev libxvidcore-dev -y
sudo apt-get install ffmpeg x264 libx264-dev -y
sudo apt-get install libv4l-0 libv4l v4l-utils -y
echo "multiproccessing library"
sudo apt-get install libtbb-dev -y
echo "finally download and install opencv"
mkdir opencv
cd opencv
wget "https://github.com/opencv/opencv/archive/2.4.13.2.zip"
unzip opencv-2.4.13.2.zip
cd opencv-2.4.13.2
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINSTALL_C_EXAMPLES=ON \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DBUILD_EXAMPLES=ON \
-DBUILD_opencv_cvv=OFF \
-DBUILD_NEW_PYTHON_SUPPORT=ON \
-DWITH_TBB=ON \
-DWITH_V4L=ON \
-DWITH_QT=ON \
-DWITH_OPENGL=ON \
-DWITH_VTK=ON ..
echo "making and installing"
make -j8
sudo make install
echo "finishing off installation"
sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
echo "Congratulations! You have just installed OpenCV. And that's all, folks! :P"
附:从中创建一个脚本文件,然后只执行脚本文件,而不是将其逐行复制粘贴到终端中。您可以通过复制所有内容,将其放在扩展名为 .sh 的文件中,然后使用 $ ./filename.sh 从终端运行该 .sh 文件来实现。
【讨论】:
libpng12-dev 替换为libpng16-dev,将libvtk5-qt4-dev 替换为libvtk6-qt-dev。此外,libavutil-ffmpeg54 尚未针对 Ubuntu 16.10 发布。但是,如果您也删除该部分,该脚本应该可以正常工作。所以试一试。此外,如果您不需要仅安装 opencv 2.4.13,我建议您使用链接中的脚本,因为它安装了最新版本 3.2
根据this source,从 Ubuntu 16.04 开始,您现在只需执行此操作即可为 Python2.7 安装 OpenCV:
pip install opencv-python
或者对于python3:
pip3 install opencv-python
有关详细信息,请参阅here。
我在我的机器上测试了它,它工作正常,这很好:)。
这比我迄今为止遇到的所有其他方法都容易得多。
【讨论】:
OpenCV 3.x.x 而不是 op 想要的 OpenCV 2.4.x。
那你可以试一试:
$蟒蛇 Python 2.7.6(默认,2016 年 10 月 26 日,20:30:19) [GCC 4.8.4] 在 linux2 上 输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。 >>> 导入简历 >>> 导入 cv2【讨论】:
如果你的机器上安装了多个opencv,现在我告诉你在python中选择opencv版本最直接、最有效、最简单的方法。
可以输入以下命令在python中查看当前opencv版本
import cv2
cv2.__version__
python中的opencv路径在系统变量PYTHONPATH中设置,你可以用echo $PYTHONPATH回显这个变量
如果我想在python中使用opencv3.x,那么在home文件夹中使用vi或gedit打开.bashrc,将这个内容添加到最后
export PYTHONPATH=/home/ismart/ipa2/devel/lib/python2.7/dist-packages:/home/ismart/catkin_ws/install_isolated/lib/python2.7/dist-packages:/usr/local/opencv3.x/lib/python2.7/dist-packages
用你的替换路径
【讨论】: