1、 Windows OpenCV c++
1、下载
下载OpenCV已经编译好的MinGW版本:https://github.com/huihut/OpenCV-MinGW-Build
2、配置
1 2 3 4 5 6 7 8 9
| cmake_minimum_required(VERSION 3.15) project(opencv_demo)
set(CMAKE_CXX_STANDARD 14)
add_executable(opencv_demo main.cpp) set(OpenCV_DIR D:/opencv/OpenCV-MinGW-Build-OpenCV-4.0.0-rc-x64) FIND_PACKAGE(OpenCV REQUIRED) TARGET_LINK_LIBRARIES(opencv_demo ${OpenCV_LIBS})
|
3、使用
ref:
https://zhuanlan.zhihu.com/p/488576922
2、Ubuntu OpenCV c++
https://blog.csdn.net/qq_41962968/article/details/122848097
1、安装准备
安装最低要求(Ubuntu 18.04 作为参考)
1 2 3 4 5 6
| sudo apt update && sudo apt install -y cmake g++ wget unzip
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev sudo apt-get install libgtk2.0-dev sudo apt-get install pkg-config
|
2、下载opencv
1 2 3 4 5 6 7
| mkdir OpencvRoute && cd OpencvRoute wget -O opencv.zip https://github.com/opencv/opencv/archive/4.x.zip unzip opencv.zip mv opencv-4.x opencv cd opencv makdir build cd build
|
3、cmake
1
| sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
|
4、编译
可以使用sudo make -j 8 、sudo make -j4 、sudo make
我这里就使用sudo make -j 8了
5、安装
6、配置环境
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 用gedit或者vim打开/etc/ld.so.conf 在文件中加上一行 /usr/loacal/lib 其中/user/loacal是opencv安装路径也就是makefile中指定的安装路
sudo gedit /etc/ld.so.conf
运行sudo ldconfig, 修改bash.bashrc文件
sudo gedit /etc/bash.bashrc 在文件末尾加入: PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
|
然后在命令行中输入
在命令行中输入如下命令:
1
| pkg-config opencv --modversion
|
至此opencv的安装就完成了
如果出现 找不到opencv.pc的问题
手动创建opencv.pc:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| cd /usr/local/lib sudo mkdir pkgconfig && cd pkgconfig sudo gedit opencv.pc 然后添加:
prefix=/usr/local exec_prefix=${prefix} includedir=/usr/local/include libdir=/usr/local/lib
Name: OpenCV Description: Open Source Computer Vision Library Version: 4.4.0 Libs: -L${exec_prefix}/lib -lopencv_stitching -lopencv_superres -lopencv_videostab -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dpm -lopencv_face -lopencv_photo -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_line_descriptor -lopencv_optflow -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_xfeatures2d -lopencv_shape -lopencv_video -lopencv_ml -lopencv_ximgproc -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_flann -lopencv_xobjdetect -lopencv_imgcodecs -lopencv_objdetect -lopencv_xphoto -lopencv_imgproc -lopencv_core Libs.private: -ldl -lm -lpthread -lrt Cflags: -I${includedir}
|
7、测试Demo
写个程序测试下:
首先建立一个文件夹OpenCV_Code,下面新建一个cpp文件,名为test.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #include <stdio.h> #include <opencv2/opencv.hpp> using namespace cv; int main(int argc, char** argv ) { if ( argc != 2 ) { printf("usage: DisplayImage.out <Image_Path>\n"); return -1; } Mat image; image = imread( argv[1], 1 ); if ( !image.data ) { printf("No image data \n"); return -1; } namedWindow("Display Image", WINDOW_AUTOSIZE ); imshow("Display Image", image); waitKey(0); return 0; }
|
再此文件夹下继续新建一个文件,名为 CMakeLists.txt:
1 2 3 4 5
| cmake_minimum_required(VERSION 2.8) project( test ) find_package( OpenCV REQUIRED ) add_executable( test test.cpp ) target_link_libraries( test ${OpenCV_LIBS} )
|
此时OpenCV_Code文件夹中已经产生了可执行文件test,下载Lina.jpg放在OpenCV_Code下,运行
./test Lina.jpg
库API
<opencv2/highgui/highgui.hpp>
<opencv2/imgproc/imgproc.hpp>
<opencv2/calib3d/calib3d.hpp>