如果想在window下编译OpenCV源码,请参考https://blog.csdn.net/Phr_Nick/article/details/70485919
1、下载OpenCV源码https://opencv.org/releases/
选择好版本之后,点击Sources,等待下载完成
2、执行下面命令
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install qt5-default
sudo apt-get install libvtk6-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libjpeg-dev
sudo apt-get install libwebp-dev
sudo apt-get install libpng-dev
sudo apt-get install libtiff5-dev
sudo apt-get install libopenexr-dev
sudo apt-get install libgdal-dev
sudo apt-get install libdc1394-22-dev
sudo apt-get install libavcodec-dev
sudo apt-get install libavformat-dev
sudo apt-get install libswscale-dev
sudo apt-get install libtheora-dev
sudo apt-get install libvorbis-dev
sudo apt-get install libxvidcore-dev
sudo apt-get install libx264-dev
sudo apt-get install yasm
sudo apt-get install libopencore-amrnb-dev
sudo apt-get install libopencore-amrwb-dev
sudo apt-get install libv4l-dev
sudo apt-get install libxine2-dev
sudo apt-get install libtbb-dev
sudo apt-get install libeigen3-dev
sudo apt-get install doxygen
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake qt5-default libvtk6-dev zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libopenexr-dev libgdal-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev libtbb-dev libeigen3-dev doxygen libgtk2.0-dev pkg-config
3、更换路径(在编译时卡在ippicv_2019_lnx_intel64_general_20180723.tgz不动时,需要更换路径,否则直接进入第4步)
3.1下载ippicv_2019_lnx_intel64_general_20180723.tgz
https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv
下载对应的版本即可。
3.2更换
打开OpenCV的源码目录,找到ippicv.cmake并打开。(~/opencv-4.1.0/3rdparty/ippicv/ippicv.cmake)
找到ippicv的下载链接,将其替换成刚刚下载ippicv_2019_lnx_intel64_general_20180723.tgz的本地地址,
需要注意的是只需要写到ippicv_2019_lnx_intel64_general_20180723.tgz所在目录的地址。具体替换格式就是
file:///home/s
set(THE_ROOT "${OpenCV_BINARY_DIR}/3rdparty/ippicv")
ocv_download(FILENAME ${OPENCV_ICV_NAME}
HASH ${OPENCV_ICV_HASH}
URL
"${OPENCV_IPPICV_URL}"
"$ENV{OPENCV_IPPICV_URL}"
"file:///home/s"
DESTINATION_DIR "${THE_ROOT}"
ID IPPICV
STATUS res
UNPACK RELATIVE_URL)
4、安装
在源码目录中新建一个文件夹用来放置编译好的文件,并进入该文件夹,输入如下命令。一定要进入新建的文件夹再执行下面的命令,因为 输入命令之后,会在新建文件夹的上一级菜单中寻找CMakeLists.txt.
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv ..
[注意点] CMAKE_INSTALL_PREFIX后面跟的路径是执行sudo make install 后的安装路径,这边建议安装路径不要和上面build文件夹的路径相同,因为一旦相同会出现软链接的错误。因此路径需要区分开。
等待camke完成之后依次执行以下命令
sudo make -j4 #开4个线程来make,也可以多开几个
sudo make install
完成之后 ,我们可以在/usr/local/opencv中看到这四个文件夹
5、配置
这一步很重要哦!因为如果不配置的话,运行程序会报错的。
具体的命令就是 sudo nano /etc/ld.so.conf.d/opencv4.conf
sudo ldconfig
opencv4.conf这个文件是不存在的,所以需要我们手动输入文件名,然后再将下面的路径写进去,具体路径是根据之前安装位置的不同来决定的,这边的位置是指编译好的文件所在路径。