本文所述测试环境
OS:CentOS 7.8
OpenCV: 3.4.5
一. 安装依赖的第三方库
# yum install cmake gcc gcc-c++ gtk+-devel gimp-devel gimp-devel-tools gimp-help-browser zlib-devel libtiff-devel libjpeg-devel libpng-devel gstreamer-devel libavc1394-devel libraw1394-devel libdc1394-devel jasper-devel jasper-utils swig python libtool nasm
二. 下载OpenCV源码包
请到opencv官网下载opencv源码包,我下载到的版本是:3.4.5
三. 解压下载好的源码包
# unzip opencv.zip
# cd opencv-3.4.5
四. 编译OpenCV源码包
# mkdir build
# cd build
# cmake ..
# make install
五. 验证OpenCV安装
OpenCV的开发头文件默认会安装到/usr/local/include/opencv2下,库文件会默认安装到/usr/local/lib64(原文似乎使用的32位系统,此处库文件应该在/usr/local/lib64)。
# ls /usr/local/include/opencv2
# ls /usr/local/lib64
六. 编写一个HelloWorld小程序
新建一个源文件main.cpp,其文件内容为:
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgcodecs/imgcodecs.hpp>
int main()
{
cv::Mat srcImage = cv::imread("./test.jpg");
imshow("Original Image", srcImage);
cv::waitKey(0);
return 0;
}
然后在相同的目录下新建一个CMakeLists.txt文件,其内容如下:
cmake_minimum_required (VERSION 2.8)
project(hello)
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable (hello main.cpp)
target_link_libraries(hello opencv_core opencv_highgui opencv_imgcodecs)
编译程序
# cmake . && make
如果不想使用cmake编译而是直接使用gcc进行编译的话,请使用如下指令(此处未验证,懒~~):
# g++ main.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_imgcodecs -o test
运行程序
# ./hello
测试结果如下
注意事项:程序尝试读取当前目下的test.jpg图片并显示出来,所以,需要确保当前目录下存在这个文件。
七. 注意事项
根据原博主的步骤在虚拟机中成功编译安装opencv3.4.5,但根据实际需要更换版本为3.2.0,编译过程中卡在下载ippicv_linux_20151201.tgz这一步,因此需要把此包上传到3rdparty/ippicv/downloads/linux-*目录下,继续编译即可
原文作者:漫漫开发路
原文链接:https://www.jianshu.com/p/f37d8cfc2182