在linux环境下进行c++程序开发时,需要用到很多c++库文件和库函数
像一些大型的库 比如opencv 一般在进行Opencv相关的c++项目开发时 需要在linux环境下编译安装opencv,但是产品化时 需要在多个终端都安装opencv 这对产品化是不够友好的
那么可不可以 直接下载opencv源码和库文件 在不用对Opencv进行编译安装的前提下采用cmake 对opencv的库函数和库文件采取相对路径的形式进行调用呢,我这里做了相关的实验
新建一个test文件夹,并在该文件夹下创建一个CMakeLists.txt和程序执行源文件 opencv.cpp
这里CMakeLists.txt 文件里面 指定了opencv cmake文件所在的路径
cmake_minimum_required(VERSION 2.8)
project(opencv)
set(OpenCV_DIR /home/rock/rknpu2-master/examples/3rdparty/opencv/opencv-linux-aarch64/share/OpenCV)
find_package(OpenCV 3 QUIET)
add_executable(opencv opencv.cpp)
message(${OpenCV_LIBS})
target_link_libraries(opencv ${OpenCV_LIBS})
接下来看看 源代码文件opencv.cpp
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
int main()
{
cv::Mat srcImage = cv::imread("1.jpg");
cv::Mat img;
cv::cvtColor(srcImage, img, cv::COLOR_BGR2RGB);
//cv::imwrite("resize_input.jpg", srcImage);
cv::imwrite("resize_input.jpg", img);
//cv::Mat img;
cv::cvtColor(srcImage, img, cv::COLOR_BGR2RGB);
//cv::imshow("源图像",srcImage);
//cv::waitKey(0);
return 0;
}
在当前目录下新建一个build文件夹 键入命令cd build
并在该文件夹下 键入命令 cmake ..
即可得到可执行文件
经测试 该可执行文件 能够完成Opencv读取图像功能