ubuntu 不编译opencv 前提下采用cmake 实现一个简单的图像处理程序

在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读取图像功能 

猜你喜欢

转载自blog.csdn.net/linxizi0622/article/details/128690461