
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
摘要:show_vi_thread线程实现视频处理流程,主要包括:1)通过RK_MPI_SYS_GetMediaBuffer获取VI模块视频数据;2)从rockx_vi_handle_thread线程获取人脸识别结果(包含人脸名称和区域信息);3)使用OpenCV将人脸框和名称标注在视频画面上,包括坐标转换、边界保护等处理;4)通过RK_MPI_SYS_SendMediaBuffer将处理后的视频

摘要:本文介绍了OpenCV中两种常用的图像叠加方法:copyTo和addWeighted。copyTo方法通过确定ROI区域直接覆盖原图,适合简单的水印添加;addWeighted则采用加权融合方式,能灵活调节透明度(α=0.4原图权重,β=0.6水印权重),实现渐变效果。处理时需注意图像尺寸匹配问题:尺寸不同时需先截取ROI区域,相同时可直接叠加。两种方法分别适用于不同场景,copyTo操作简

摘要:队列是一种遵循先进先出(FIFO)原则的线性数据结构,广泛应用于多线程通信、缓存管理等领域。其核心操作包括从队尾入列、队头出列,确保数据顺序性。C++标准库提供了队列API,包含front()、back()、push()、pop()等基本操作,简化了队列实现。通过队列缓冲机制可有效解决音视频解码中的数据处理问题,提升系统性能。代码示例展示了STL队列的基本使用方法,包括初始化、入队出队等操作

本文介绍了使用FFMPEG推流器将低分辨率视频流传输至流媒体服务器的实现过程。主要包括以下步骤:1)初始化RKMEDIA_FFMPEG_CONFIG结构体设置1280×720分辨率参数;2)创建线程从LOW_VIDEO_QUEUE队列获取H264编码帧数据;3)将获取的帧数据封装为AVPacket结构体,包括数据填充、长度设置和关键帧标识;4)计算PTS时间戳并进行时间基转换;5)通过av_int

本文介绍了高分辨率(1920*1080)VENC编码模块的配置实现。主要内容包括:1)通过RV1126_VENC_CONFIG结构体设置编码参数,包括H264编码类型、1920x1080分辨率、Baseline编码等级、CBR码率控制等关键参数;2)封装rkmedia_venc_init函数初始化VENC模块;3)将VENC模块ID存入venc_containers数组进行统一管理。文章详细说明了

本文介绍了基于RV1126芯片和OpenCV实现视频流腐蚀处理的方案。系统采用双线程架构:主线程负责初始化VI/VENC模块,配置1920×1080分辨率、NV12格式视频流;处理线程使用15×15矩形核进行腐蚀运算,将结果发送至编码器;编码线程将H264数据保存为文件。实验结果表明,处理后的视频细节明显减少,图像整体变暗,有效实现了视频腐蚀效果。该方案为嵌入式视频处理提供了OpenCV与硬件编解

OpenCV中Mat类是图像处理的核心数据结构,用于存储矩阵形式的图像数据。Mat对象包含矩阵头(元信息)和矩阵数据(像素值)。OpenCV支持8种数据类型(如CV_8U、CV_32F等)和4种通道数(单/双/三/四通道),可表示灰度图、RGB图像等。Mat提供多种构造方法:指定行列数、Size结构体、Scalar颜色填充等,并能创建全零/全一矩阵。通过调整参数可生成不同特性的图像矩阵,并保存为图

本章节主要介绍FFMPEG的结构体,FFMPEG是音视频的瑞士军刀,它提供了一系列丰富的音视频处理接口。如:编码、解码、推流、滤镜等等。在我们这个项目里面,FFMPEG主要的作用是进行视频推流的功能,就是把RV1126编码的视频码流利用FFMPEG框架推送到流媒体服务器。

OpenCV中的at函数用于访问和修改Mat矩阵中的像素值。对于三通道图像,使用Vec3b类型(uchar数组)处理RGB通道;单通道图像则使用uchar类型。通过双重循环遍历rows和cols,可以修改每个像素点:三通道图像分别调整各通道值(如R-10、G-50、B-10),单通道图像整体处理(如灰度值-50)。at函数支持多种数据类型(Vec2b-Vec8i、Vec2f-Vec6f、Vec2d

RockX框架提供了一套完整的人脸检测API接口,包括人脸检测、识别、特征提取等功能。核心函数包括:rockx_create创建句柄,支持多种模块选择;rockx_face_detect进行人脸检测;rockx_face_recognize提取人脸特征值;rockx_face_feature_similarity计算人脸相似度;rockx_face_masks_detect检测戴口罩情况。框架支持








