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

在Linux下开发C++项目时,通常需要编译安装OpenCV库。然而,对于产品化,这可能不理想。文章介绍了如何直接使用OpenCV源码和库文件,通过在CMakeLists.txt中指定OpenCV路径,避免编译步骤,创建并运行可执行文件来调用OpenCV功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值