vscode + CMake编译(opencv显示图片工程)

发布于:2024-06-20 ⋅ 阅读:(170) ⋅ 点赞:(0)

1.opencv

2.Cmake

2.1 简介

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件;Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用;CMake 的组态档取名为 CMakeLists.txt;

2.2 vscode使用CMake

①下载CMake:

Download CMake

②系统环境配置好:

根据cmake的安装位置去添加,可以在cmd中,测试是否成功。

③安装两个插件:

确保你的vscode本来就是可以跑的,可以上网搜一下vscode环境配置

④创建文件夹:

src:存放源文件;inc:存放头文件;build:执行cmake会生成一些配置文件比较杂,放在该目录下;bin:存放生成的可执行程序;CmakeLists.txt文件;

⑤编写一个简单的OpenCV示例代码(.cpp):

#include <iostream> 
#include <opencv2/opencv.hpp> // 包含opencv的库头文件

using namespace std;
using namespace cv;  //使用命名空间cv,包含空间中方法及属性

int main(int argc, char** argv )
{
    if ( argc != 2 ) // 命令行参数个数不是2个的时候
    {
        printf("使用指令: DisplayImage <Image_Path>\n"); // 提示:按照固定格式输入指定内容!
        return -1;
    }
    Mat img; //创建一个名称为img的图像容器(这个后边会介绍到)
    img = imread( argv[1], 1 ); //为该容器读取命令行中 DisplayImage 之后的参数(图片路径“<Image_Path>”)
    if ( !img.data ) //如果读取数据为空(没有读取到图片)
    {
        cout<<"没有图片数据!"<<endl;
        return -1;
    }
    namedWindow("检索到的图片", WINDOW_AUTOSIZE );//创建图片显示窗口
    imshow("Display Image", img);//显示图片
    waitKey(0); //延迟等待
    return 0;
}

⑥编写CMakeList.txt:

# 选择最匹配的最低的Cmake版本
cmake_minimum_required(VERSION 2.8) 
# 创建的程序的名称(项目的名称)
project( DisplayImage )  
#指定头文件的路径,PROJECT_SOURCE_DIR宏对应的值是工程的根目录
include_directories(${PROJECT_SOURCE_DIR}/inc)
find_package( OpenCV REQUIRED ) # 找到需求的库或者组件
#[[
    aux_source_directory(< dir > < variable >)
    dir:要搜索的目录
    variable:将从dir目录下搜索到的源文件列表存储到该变量中
]]
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRCS)
#设置可执行程序路径,EXECUTABLE_OUTPUT_PATH是可执行路径的宏
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
#生成可执行程序  add_executable(可执行程序名 源文件名称)
add_executable( DisplayImage ${SRCS}) 
#链接的库
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

⑦生成可执行文件:

进入build目录下敲击以下命令表示cmake指定MinGW编译生成makefile

cd <DisplayImage_directory> /bulid/ # 切换到项目路径bulid当中
cmake .. -G "MinGW Makefiles" # 编译当前项目
ming32-make # 生成可执行文件(名称为Cmake文件中的project()中的名称)

ps另一种方法:

在setting中加这一句:

在vscode中可以使用ctrl+shift+p,搜索CMake:Configure

点击效果如下


生成了makefile之后,在终端make生成可执行文件

⑧执行程序:

cd ../bin/ #跳转到可执行文件的目录
./DisplayImage xxx.jpg #添加要显示的图片(图片路径),并且执行

RKNN使用NPU处理图像并显示结果

OPENCV读取视频并使用NPU处理视频


网站公告

今日签到

点亮在社区的每一天
去签到