新闻详情

新闻详情

首页 / 资讯中心 / 详情

RK3588平台下OpenCV视觉库调用实践C++

发布时间:2026/9/9 19:37:57来源:尧图网络
RK3588平台下OpenCV视觉库调用实践C++
OpenCVOpen Source Computer Vision Library是一个开源的计算机视觉和机器学习软件库提供了数百种计算机视觉算法核心功能包括图像视频处理、特征检测、目标检测、图像分割、相机标定与3D重建、机器学习等本文通过一个简单的图像处理程序来介绍OpenCV在RK3588平台下如何调用C版本完成完整工程搭建亲测可运行。主要功能是读取一张指定路径的图片将其缩放为 400×400 像素转换为灰度图然后保存为resized.png。1. 头文件与命名空间#include iostream #include opencv2/opencv.hpp2. 主函数入口int main(int argc, char **argv)argc命令行参数个数。argv命令行参数字符串数组argv[0]通常是程序自身路径argv[1]是第一个用户传入的参数。3.参数检查if (argc ! 2) { std::cout 请输入图片路径 std::endl; return -1; } else { std::cout 图片路径为 argv[1] std::endl; // ... 处理代码 ... }程序期望恰好 1 个额外参数即图片路径。如果参数数量不对则输出提示信息并返回-1若参数正确则打印该路径。4、读取图片cv::Mat image cv::imread(argv[1]);cv::imread()用于从文件加载图像返回一个cv::Mat对象矩阵它是 OpenCV 中存储图像数据的核心数据结构。5、缩放图像cv::Mat image_resized; cv::resize(image, image_resized, cv::Size(400, 400));cv::resize()将原始图像缩放到 400×400 像素宽和高均为 400默认使用双线性插值cv::INTER_LINEAR。6、转换为灰度图cv::cvtColor() 将缩放后的彩色图像BGR 通道顺序OpenCV 默认转换为单通道灰度图像cv::cvtColor()将缩放后的彩色图像BGR 通道顺序OpenCV 默认转换为单通道灰度图像。7、保存结果cv::imwrite(resized.png, image_resized);cv::imwrite()将灰度图保存为当前工作目录下的resized.png文件PNG 格式无损压缩。8、CMakeList.txt 通过cmake完成编译cmake_minimum_required(VERSION 3.4.1) set(PROJECT_NAME demo_opencv) set(SDK_ROOT_PATH /home/tronlong/3588/linux-sdk/rk3588_linux_release_v1.2.1) set(RKNPU_PATH ${SDK_ROOT_PATH}/external/rknpu2) ... ... # opencv set(OpenCV_DIR ${RKNPU_PATH}/examples/3rdparty/opencv/opencv-linux-aarch64/lib/aarch64-linux-gnu/cmake/opencv4) find_package(OpenCV REQUIRED) ... ...如果这篇小文帮到了你别忘了点个关注也欢迎大家在评论区交流。我会持续更新更多有趣的视觉小实验和实用技巧。关注后私信我“我要资源”我会把本篇完整代码 包发给你。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Telegraf 容器化部署完全指南:Docker 单机与 K8s 集群指标采集 2026/9/9 19:36:47

Telegraf 容器化部署完全指南:Docker 单机与 K8s 集群指标采集

Telegraf 容器化部署完全指南:Docker 单机与 K8s 集群指标采集 【免费下载链接】telegraf Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data. 项目地址: https://gitcode.com/GitHub_Trending/te/telegraf …

阅读更多 →
TensorFlow权重初始化全解析:kernel_initializer原理、实操与调参技巧 2026/9/9 19:36:47

TensorFlow权重初始化全解析:kernel_initializer原理、实操与调参技巧

1. 权重初始化:训练不收敛时你第一个该检查的地方先说一个很多初学者踩过的坑:用TensorFlow搭一个几层的全连接网络,数据也归一化了,学习率也调小了,结果loss卡在某个值死活不下去,或者训练一开始就直接NaN…

阅读更多 →
Windows下Maven与Gradle部署实战:从JDK配置到镜像与乱码排查 2026/9/9 19:36:47

Windows下Maven与Gradle部署实战:从JDK配置到镜像与乱码排查

1. 为什么说 Windows 部署 Maven 和 Gradle 不是“解压加 PATH”这么简单我见过太多刚转 Java 或刚接触 Android 的同事,第一次在 Windows 上配构建工具时,都以为这就是个“下载、解压、配环境变量、跑mvn -v”的体力活。运气好的人十分钟搞定&#xff0…

阅读更多 →
GPS单点定位原理与实现:从原始伪距到坐标解算 2026/9/9 19:36:47

GPS单点定位原理与实现:从原始伪距到坐标解算

简介:基于C语言实现的GPS单点定位程序源码包,面向测绘、导航与卫星定位初学者,也适合需要理解GNSS数据解算全流程的C/C开发者。资源包里只有1个cpp文件,压缩包总大小5KB,短小精悍,便于直接阅读、调试和二次…

阅读更多 →
从镜像站到PR:开源软件使用、合规与社区参与实战指南 2026/9/9 19:36:47

从镜像站到PR:开源软件使用、合规与社区参与实战指南

先交代个背景:我这些年一直在做企业级软件研发和基础架构相关的工作,日常打交道的基本都是开源软件。从最开始只会用镜像站下载安装包,到后来在公司里牵头做开源合规排查,再到给上游项目提交Patch、参与社区讨论,这条路…

阅读更多 →
STM32 GPIO模拟驱动WS2812灯带:无需驱动芯片的完整方案 2026/9/9 19:33:46

STM32 GPIO模拟驱动WS2812灯带:无需驱动芯片的完整方案

简介:针对单片机灯带控制中常见的时序驱动难题,这份资源立足于STM32平台,提供一种不需要额外驱动芯片、仅靠普通输入输出引脚模拟通信的完整解决方案,适合嵌入式初学者快速入门,也适合项目开发时直接参考移植。压缩包共…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞