Ubuntu系统+x86架构+编译安装OpenCV
一、准备文件
1.OpenCV源码下载
(1)opencv-4.5.5.zip
官网下载
网址:
https://github.com/opencv/opencv/tree/4.5.5操作:
点击"Code"下的"Download ZIP"
下载得到opencv-4.5.5.zip压缩文件
(2)opencv_contrib-4.5.5.zip
官网下载
网址:
https://github.com/opencv/opencv_contrib/tree/4.5.5操作:
点击"Code"下的"Download ZIP"
下载得到opencv_contrib-4.5.5.zip压缩文件
2.其他文件
(1)cache.zip
注:此文件为OpenCV编译时需要下载的文件,下载速度极慢,下载不成功会导致编译失败,所以提前下载好放入正确路径即可
CSDN资源:计算机视觉+OpenCV+编译时需要下载的文件
3.将文件按以下顺序存放
新建"opencv"目录
mkdir opencv"opencv-4.5.5.zip"放入opencv目录
"opencv_contrib-4.5.5.zip"放入opencv目录
"cache.zip"放入opencv目录
二、更新、安装基础依赖
sudo apt update && \ sudo apt upgrade -y && \ sudo apt install -y build-essential cmake三、安装cmake依赖
1.终端apt依赖
(1)gtk
sudo apt install -y libgtk2.0-dev \ libcanberra-gtk-module(2)opengl
sudo apt install -y libgl1-mesa-dev \ libglew-dev \ libglm-dev \ libfreetype6-dev \ libglfw3-dev \ libglfw3 \ libglu1-mesa-dev \ freeglut3-dev \ libgtkglext1 \ libgtkglext1-dev(3)gstreamer
sudo apt install -y libgstreamer1.0-dev \ libgstreamer-plugins-base1.0-dev \ gstreamer1.0-plugins-base \ gstreamer1.0-plugins-good \ gstreamer1.0-plugins-bad \ gstreamer1.0-plugins-ugly \ gstreamer1.0-libav \ gstreamer1.0-tools \ gstreamer1.0-x \ gstreamer1.0-alsa \ gstreamer1.0-gl \ gstreamer1.0-gtk3 \ gstreamer1.0-qt5 \ gstreamer1.0-pulseaudio四、cmake
1.cmake前检查项
(1)检查目录是否存在,不存在创建
if [ -d "/usr/lib/x86_64-linux-gnu/gtkglext-1.0/include" ] then echo 'exists' else sudo mkdir -p /usr/lib/x86_64-linux-gnu/gtkglext-1.0/include fi(2)检查/usr/lib/x86_64-linux-gnu/目录下是否存在有关opengl库为红色,也就是链接失败的,如果有重新链接
cd /usr/lib/x86_64-linux-gnu && \ ls如果有红色的重新链接,没有就跳过
sudo rm libEGL.so && \ sudo ln -s libEGL.so.1.1.0 libEGL.so && \ sudo rm libGLdispatch.so && \ sudo ln -s libGLdispatch.so.0 libGLdispatch.so && \ sudo rm libGLESv2.so && \ sudo ln -s libGLESv2.so.2.1.0 libGLESv2.so && \ sudo rm libGL.so && \ sudo ln -s libGL.so.1.7.0 libGL.so && \ sudo rm libGLX.so && \ sudo ln -s libGLX.so.0 libGLX.so2.解压及建立build目录
(1)解压
unzip opencv-4.5.5 && \ unzip opencv_contrib-4.5.5.zip && \ unzip cache.zip && \ mv opencv_contrib-4.5.5 opencv-4.5.5 && \ mv cache opencv-4.5.5/.cache(2)建立build目录
cd opencvmkdir -p opencv-4.5.5/build && \ cd opencv-4.5.5/build3.执行cmake
cmake -D CMAKE_INSTALL_PREFIX=/usr/local \ -D CMAKE_BUILD_TYPE=Release \ -D BUILD_opencv_world=ON \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D OPENCV_ENABLE_NONFREE=ON \ -D BUILD_EXAMPLES=ON \ -D ENABLE_FAST_MATH=ON \ -D BUILD_ITT=OFF \ -D WITH_ITT=OFF \ -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.5.5/modules \ -D WITH_FFMPEG=ON \ -D WITH_GSTREAMER=ON \ -D WITH_GTK_2_X=ON \ -D WITH_OPENGL=ON \ -D WITH_VTK=ON \ -D WITH_OPENCL=ON \ -D WITH_V4L=ON \ -D BUILD_TBB=OFF \ -D WITH_TBB=OFF \ -D WITH_OPENMP=ON \ -D WITH_XINE=ON \ -D WITH_LIBV4L=ON \ -D BUILD_opencv_videoio=ON \ -D OPENCV_VIDEOIO_CODEC_LIST="H264" \ ..OpenCV 5.0使用如下配置
cmake-DCMAKE_INSTALL_PREFIX=/usr/local\-DCMAKE_BUILD_TYPE=Release\-DOPENCV_GENERATE_PKGCONFIG=ON\-DOPENCV_ENABLE_NONFREE=ON\-DBUILD_EXAMPLES=OFF\-DBUILD_TESTS=OFF\-DBUILD_PERF_TESTS=OFF\-DENABLE_FAST_MATH=ON\-DBUILD_ITT=OFF\-DWITH_ITT=OFF\-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-5.0.0/modules\-DWITH_FFMPEG=ON\-DWITH_GSTREAMER=ON\-DWITH_GTK_2_X=ON\-DWITH_OPENGL=ON\-DWITH_VTK=ON\-DWITH_OPENCL=ON\-DWITH_V4L=ON\-DBUILD_TBB=OFF\-DWITH_TBB=OFF\-DWITH_OPENMP=ON\-DWITH_XINE=ON\-DWITH_LIBV4L=ON\-DBUILD_opencv_videoio=ON\-DOPENCV_VIDEOIO_CODEC_LIST="H264"\../opencv-5.0.0五、编译安装
1.编译
make -j$(nproc)2.安装
sudo make -j$(nproc) install六、配置环境
1.环境变量设置与更新
sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf.d/opencv.conf" && \ sudo ldconfig && \ sudo sh -c "echo '/usr/local/lib' >> /etc/ld.so.conf" && \ sudo ldconfig && \ str='export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:"$"PKG_CONFIG_PATH' && \ sudo sh -c "echo $str >> /etc/profile" && \ source /etc/profile七、验证安装
查看opencv版本
pkg-config --modversion opencv4执行结果如下:
4.5.5Ubuntu系统+x86架构+编译安装OpenCV-完毕