参考链接:
https://blog.csdn.net/Kevin_Xie86/article/details/99546714
https://blog.csdn.net/weixin_44003563/article/details/90404745
https://blog.csdn.net/LEON1741/article/details/85048614
linux下opencv编译方式分两种,一种cmake-gui,另外就是手动编译,这里简单介绍手动编译,以便后续使用参考
1、首先去github上下载源码
opencv:https://github.com/opencv/opencv/releases
opencv-contrib:https://github.com/opencv/opencv_contrib/releases
2、解压opencv源码,并将opencv-contrib解压到opencv源码目录
3、安装依赖
sudo apt-get install build-essential cmake unzip pkg-config
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install python3-dev
4、依次输入以下命令开始编译
mkdir -p release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local .. \
-D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.1.0/modules \
-D WITH_LIBV4L=ON \
-D WITH_CUDA=OFF \
-D WITH_TBB=ON \
-D WITH_OPENMP=ON \
-D WITH_OPENGL=ON ..
编译的时候如果出现
CMake Error at CMakeLists.txt:11 (message):
FATAL: In-source builds are not allowed.
You should create separate directory for build files.
-- Configuring incomplete, errors occurred!
直接删除opencv目录下的CmakeCake.txt文件
5、如果跳过4则按以下输入
cmake ..
make -j8
sudo make install
最后完成编译如下:
如果出现以下错误,可以尝试跳过第4步,直接安装第5步
注意:源码的include/opencv2/目录下不像windows安装包一样直接包含了头文件,只有一个opencv.hpp文件
正常编译完成后会在目录下生成相应的头文件和lib文件
/usr/local/include/opencv4
/usr/local/lib
6、使用QT测试opencv4.1.0
(1)首先使用QT客户端新建一个工程;
(2)在.pro文件里添加配置文件
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv4/ \
/usr/local/include/opencv4/opencv2
LIBS += /usr/local/lib/libopencv_highgui.so \
/usr/local/lib/libopencv_core.so \
/usr/local/lib/libopencv_imgproc.so \
/usr/local/lib/libopencv_imgcodecs.so
(3)添加一个按钮事件测试代码
void MainWindow::on_pushButton_clicked()
{
cv::Mat src = cv::imread("/home/bzl/QT_Projection/untitled/lena.jpg", -1);
cv::imshow("demo", src);
cv::waitKey(0);
}
运行结果: