https://opencv.org/releases/
国内镜像:
https://www.raoyunsoft.com/wordpress/index.php/2020/03/09/opencvdownload/
sudo apt-get install build-essential pkg-config libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
解压刚才下载的压缩包,进入目录
unzip opencv-xxxxx
cd opencv-xxxxx/
准备编译,可以使用make -j$(nproc),调用CPU全部核心加速编译
如果需要重新cmake,先将build目录下的文件清空,再重新cmake
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_GTK=ON -D WITH_OPENGL=ON ..
make -j$(nproc)
sudo make install
sudo gedit /etc/ld.so.conf
在文件中加上一行 include /usr/local/lib,这个路径是cmake编译时填的动态库安装路径加上/lib,然后运行下面的命令使配置生效:
sudo ldconfig
接下来打开环境变量文件:
sudo gedit /etc/bash.bashrc
尾部加上这两行:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
保存,输入下面的命令,刷新环境变量,使之生效
source /etc/bash.bashrc
输入下面的命令查看是否成功:
pkg-config --modversion opencv4
pkg-config --cflags opencv4
pkg-config --libs opencv4
新建文件 demo.cpp
#include
#include
using namespace std;
using namespace cv;
int main()
{
Mat srcImage = imread("test.jpg");
imshow("Display Image window",srcImage);
waitKey(0);
return 0;
}
目录下放一张图片test.jpg,然后使用g++编译这个demo.cpp
g++ `pkg-config opencv4 --cflags` demo.cpp -o demo `pkg-config opencv4 --libs`
运行:
./demo
如果成功显示图片,就大功告成啦。非常感谢原文作者https://www.jianshu.com/p/59608e83becb
qt工程文件里加上
INCLUDEPATH += /usr/local/include \
/usr/local/include/opencv4 \
/usr/local/include/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
源文件里写下面的代码:
#include
#include
#include
using namespace cv;
int main()
{
//需要一张图片test.jpg,下面输入这个图片的路径
Mat img = imread("/home/msi/qt/helloworld/test.jpg");
line(img,Point(1,1),Point(250,250),Scalar(0,0,255),5);//画一条直线
imshow("myidol", img);
waitKey(0);
return 0;
}
编译运行,搞定!
按照下面的代码创建一个CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.0) #指定cmake版本
project(test_cv) #填写你的项目名字
find_package( OpenCV REQUIRED ) #定位opencv包,不需要改
include_directories( ${OpenCV_INCLUDE_DIRS} ) #设置opencv引用路径,不需要改
add_executable(test_cv main.cpp) #生成可执行文件,改称你自己的cpp源文件名和要生成的可执行文件名
target_link_libraries( test_cv ${OpenCV_LIBS} ) #设置链接库路径,前面改称你自己的项目名
main.cpp源文件和上面的一样即可,最后编译运行
cd build
cmake ..
make
./test_cv