- 博客(43)
- 资源 (12)
- 收藏
- 关注
原创 RK 平台实战:从 VGS 绿屏到 RGA 稳定运行 —— 一次真实的视频处理架构升级复盘
摘要: 在RK3588平台视频处理项目中,从VGS迁移到RGA的架构升级解决了新SDK下的绿屏和像素错位问题。分析发现VGS无法正确处理VDEC/VI输出的非标准帧布局,而RGA作为通用图像处理器能完美兼容。实测显示RGA方案处理耗时仅1.1ms,稳定性显著提升。核心结论:解码/摄像头输出的帧应优先通过RGA处理,这是RK平台视频处理的最佳实践。这次升级实现了从"能跑"到"稳定可靠"的架构优化。
2025-12-18 18:19:47
437
原创 基于 VIBE 的小目标移动侦测系统设计与优化实践
本文提出了一种基于VIBE算法的1×1像素小目标移动侦测方案。通过高精度像素建模、移动速度估计和区域约束三重优化,有效解决了传统背景建模在复杂环境中对小目标检测的局限性。该系统支持在边缘设备部署,能准确识别微小移动目标并抑制云层、流水等动态背景干扰,在智能交通、安防监控等场景展现出优越性能。相比常规方法,该方案具有单像素检测、强鲁棒性和高运行效率等优势,为资源受限环境下的小目标检测提供了有效解决方案。
2025-08-04 17:22:14
796
原创 通俗理解匈牙利算法:从“任务分配”到“最优匹配”的一步步图解
本文通俗易懂地介绍了匈牙利算法,用于解决最小权二分图匹配问题。文章通过一个工人-任务分配的实际例子,详细讲解了算法的四个关键步骤:行减法、列减法、0匹配和总成本计算。即使只有高中数学基础,也能轻松理解这个经典算法。作者还列举了算法的应用场景和特点,并建议初学者从实际意义和基本操作入手学习。匈牙利算法通过巧妙的代数变换和匹配逻辑,帮助我们在O(n³)时间复杂度内找到最优分配方案,适用于任务调度、物流匹配等多种场景。
2025-07-29 17:54:28
655
原创 基于 RK3588 的单路视频推流系统:实测局域网播放延迟仅百毫秒
摘要:本文介绍了一种基于RK3588平台的超低延迟视频推流方案,通过零拷贝采集、硬件编码和WebRTC优化实现端到端延迟仅100ms。系统采用MIPI摄像头采集1080P@30fps视频,经H.264硬编码后通过WebRTC推流,在局域网内实现实时播放。测试显示总延迟控制在90-120ms之间,适用于视频监控、边缘AI可视化等场景。文章详细分析了各环节的延迟优化技术,包括V4L2采集、RKMPI编码参数配置和WebRTC传输优化,为边缘计算中的实时视频处理提供了有效解决方案。
2025-07-23 18:12:16
1643
3
原创 VIBE算法详解:高效鲁棒的像素级背景建模与前景检测
VIBE算法是一种高效的实时运动检测方法,通过维护像素历史样本集合实现背景建模。其核心在于:1)每像素存储多个样本值,通过阈值匹配判断前景;2)采用概率随机更新机制动态优化模型;3)引入邻域更新增强空间一致性。该算法具有简单快速、适应性强等优势,但也存在对快速变化场景敏感等局限。关键参数包括样本数(20)、匹配阈值(20)和更新概率(1/16),需根据实际场景调整。VIBE在智能监控等实时视频分析中表现优异,是平衡精度与效率的经典选择。
2025-07-23 10:14:46
870
原创 常见运动检测算法详解与参数调优指南
本文系统介绍了6种主流运动检测算法及其适用场景。VIBE适合资源有限的实时系统;MOG适应光照变化;MOG2支持阴影检测;GMG精度高但启动慢;CNT支持并行计算;SuBSENSE/LOBSTER适用于复杂环境。文章详细分析了各算法的关键参数及调节建议,如VIBE的样本数、MOG2的帧历史等,并给出了不同场景下的选择策略:实时性优先选VIBE,阴影环境用MOG2,复杂场景考虑SuBSENSE等。最后建议根据实际需求测试调参。
2025-07-23 10:06:06
826
原创 RK3588 交叉编译环境搭建文档
本文档详细介绍了RK3588平台的交叉编译环境搭建步骤。主要内容包括:1)下载并解压Linaro GCC 7.5.0工具链;2)配置环境变量;3)验证工具链可用性;4)提供示例程序编译方法;5)可选的内核编译说明;6)常见编译场景的汇总表格。文档采用代码块形式展示命令,结构清晰,便于开发者快速搭建针对ARM aarch64架构的交叉编译环境。
2025-07-03 10:10:45
1029
原创 从零理解鱼眼相机的标定与矫正(含 OpenCV 代码与原理讲解)
鱼眼相机由于镜头视角宽、畸变大,拍出来的画面会“鼓起来”或者变形。通过标定得到的参数,可以让计算机“理解”这种变形是怎么发生的,并据此把图像“拉回正形”。K在 OpenCV 中,内参矩阵(Camera Intrinsic Matrix)通常是一个3x3fx, 0, cx,0, fy, cy,0, 0, 10, 0, 1矩阵元素含义fxX 方向焦距(单位:像素)fyY 方向焦距(单位:像素)cx主点横坐标(图像中心 X)cy主点纵坐标(图像中心 Y)✅ 这个矩阵定义了相机如何将三维空间的点。
2025-06-22 13:37:38
1328
原创 电梯智能管理系统开源啦!!!
在智慧城市与智能物业高速发展的今天,电梯作为垂直交通的核心设施,其安全管理、应急响应能力正逐渐迈向“全联动、智能化”的新阶段。应运而生,目前我们已将系统的,并。
2025-06-22 13:25:12
499
原创 C++ OpenCV4 实现鱼眼镜头矫正
鱼眼镜头通过特殊光学设计提供180°甚至更广的视野,广泛应用于全景相机、自动驾驶等领域。然而,这种广角特性会引入严重的桶形畸变,导致直线边缘弯曲,物体尺寸被拉伸。鱼眼镜头矫正的目标是将畸变图像还原为接近人眼视觉的正常图像,便于后续处理。矫正原理基于镜头成像的数学模型,鱼眼镜头的畸变本质是三维空间点投影到二维图像平面时的非线性变换。通过数学公式描述这种畸变,并通过逆变换还原真实坐标。OpenCV采用迭代法近似求解,通过initUndistortRectifyMap生成的mapx/mapy存储每个像素点的逆畸变
2025-05-18 15:52:11
1789
原创 手拉手教你如何抓包分析SIP信令协议
通过本文的介绍,你已经学会了在Windows和Linux系统下使用Wireshark、tcpdump和sngrep抓包分析SIP信令协议的方法。无论是新手还是有经验的开发者,都可以利用这些工具深入了解SIP通信流程,解决实际问题。希望本文能对你有所帮助!
2025-05-16 14:41:33
3084
原创 RK3588本地编译环境搭建指南
RK3588 SDK编译指南] | [ARM开发环境配置]建议使用普通用户编译,避免root权限导致的路径问题。
2025-05-12 10:40:22
1205
原创 智慧电梯系统
学校环境中,守护师生的上下楼安全,防范各类电梯安全事故,为校园安全管理增添可靠保障。无论何种场景,梯智眼电梯智能管理系统都能充分发挥其卓越的性能优势,根据不同场所的特点和需求,提供定制化、个性化的电梯管理解决方案,成为电梯安全运行与高效管理的得力助手。当电梯出现异常状况时,运维人员通过云平台,能够迅速获取详细的异常信息以及与之相关的历史数据、实时数据等,从而快速定位问题根源,制定出精准有效的解决方案,大幅缩短故障排查与维修时间,显著提升运维效率,降低运维成本,实现电梯运维工作的智能化、高效化转型。
2025-04-30 12:03:55
1393
4
原创 耗时两天!我在 SIP 协议的「Via 头域」里踩了个「NAT 陷阱」(附人类能看懂的避坑指南)
SIP 协议的 Via 头很「轴」:部分设备严格校验 Via 头的第一个 IP,哪怕 received 参数是对的也没用;知名端口是坑点:5060、80 等端口容易被网络设备特殊处理,换个端口可能「一键通关」;抓包是救命稻草:所有玄学问题,最终都能通过对比协议字段找到答案(记得开 Wireshark!最后想对设备厂商说:下次甩锅前,能不能先告诉我设备严格校验 Via 头?不过也好,现在我也算半个「NAT+SIP」专家了(叉腰)。
2025-04-30 11:44:33
1021
原创 nfs服务器配置和挂载
1.nfs的安装sudo apt-get install nfs-kernel-server2.查看nfs的端口是否打开netstat -tl3.重启nfs服务/etc/init.d/nfs-kernel-server restart4.创建nfs共享目录 mkdir /home/xxx/nfs chmod 777 /home/xxx/nfs5.配置nfs文件/etc/exports 里面增加这样一行*代表所有ip的主机都可以挂载访问/home/xxx/nfs * (rw,s
2021-05-29 16:29:48
346
原创 samba服务器配置
1.安装samba服务器sudo apt-get install samba smbclient cifs-utils samba-common2.建立共享文件夹并修改权限mkdir /home/xxx/workchmod 777 /home/xxx/work3.修改配置文件sudo vim /etc/samba/smb.conf在文件最后添加:[work]comment = workpath = /home/ctx/workbrowseable = yescreate mas
2021-05-29 16:18:41
169
原创 JetsonXavier/Tx2性能测试比对
性能调节到最大sudo nvpmodel -m 0sudo ./jetson_clocks.shyolov3用原作者的版本(Alexeyab的版本后面验证发现快了1-2fps):modelfpspltyolov3-32012.6fpsXavieryolov3-4168.8fpsXaviermaskrcnn_keras第一帧1.1s,后面每帧12...
2019-01-24 17:16:23
11462
5
原创 fast-rcnn logo识别
1,下载编译fast-rcnnfast-rcnn下载地址Clone the Fast R-CNN repository#Make sure to clone with --recursive(这样clone下来的是包含rgb大神的caffe版本)git clone --recursive https://github.com/rbgirshick/fast-rcnn.git安装编译参考:...
2019-01-24 16:56:40
513
原创 tensorflow训练maskrcnn并在opencv下部署预测
安装labelme3sudo pip3 install labelme标注数据后的数据增加,这里提供一个数据增强工具,GitHub里面的json-rotate注意json旋转后图像mask不能从图像里面出去,否则训练会报错generate tf.record python3 create_tf_record.py \ &nb...
2019-01-24 16:55:36
1098
1
原创 YOLO ONLY LOOK ONCE
yolov3数据集准备使用labelimg工具标记数据(voc格式)把标记好的xml文件转成txt,转化脚本如下(python2.7)1, 获取所有图像名```import osdirlist = os.listdir("/home/room/mxj_workspace/data/voc_clock/train_img/")fp = open("ImageID.txt","w")...
2019-01-24 16:53:43
711
原创 基于NVIDIA TX2的usb basyer工业相机编码推流
性能:两路2448*2048 basyer相机编码,编码后25fps,延迟200ms左右编码:调用nvidia底层的api, 参考tegra_multimedia_api下的cuda_encode例子。只需要修改read_from_file()函数的数据为相机输入数据即可目前只支持输入I420格式,但是basyer相机没有I420的格式,用cuda做转换,代码如下:// Grab....
2018-04-26 23:15:58
6556
5
原创 coco_extract_car_2_voc/kitti
coco数据集提取car,转化为voc格式分三步:提取你需要的类别python filter.py移除不需要的图片python get_image.py写成voc格式python get_xml.py话不多少直接上代码:filter.pyimport jsonclassName = { 3:'car' ...
2018-04-26 22:40:38
747
原创 voc2007_extract_car_2_kitti
voc2007_extract_car_label将上一步提取到的car转化为KITTI格式 1,第一步 获取所有图片的名,同时删除后缀。我这里用了比较笨的方法就是先把图片名保存,然后在gedit里面替换 保存图片名python代码:import osdirlist = os.listdir("/home/mahnx0/data/voc_extract_car/train_i...
2018-04-26 21:57:35
305
原创 voc2007_extract_car_label
voc2007_extract_carlabel代码参考:voc数据提取自己的类 作者代码是windows的提取了四类,我当前只需要car和bus两类,最后把bus类别全部转化为car python代码如下:import os import os.path import shutil fileDir_ann = "/home/mahnx0/data/voc2007/A...
2018-04-26 19:03:56
507
原创 基于NVIDIA TEGRA系列板卡的硬件解码及视频推流
以NVIDIA TX1为例硬解码就是利用硬件芯片来解码的,TX1有单独的解码模块,NVDEC. 软解码是用软件程序来解码,比较占用CPU资源 查看cpu gpu 以及编解码模块的使用: sudo ./tegrastats1.gstreamer概述 Gstreamer是一个libraries和plugins的集合,用于帮助实现各种类型的多媒体应用程序,比如播放器,转码工具,多媒体服务器等...
2017-11-02 13:47:15
5313
1
原创 live555搭建rtsp服务器
首先去下载源码 http://www.live555.com/liveMedia/public/live555-latest.tar.gz wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz tar xzf live555-latest.tar.gz cd live ./genMakefiles linux
2017-11-02 13:39:18
1278
原创 TX1在opencv中调用gstreamer解码海康IP摄像头
opencv安装方法: sudo apt-get update sudo apt-get install build-essential cmake git pkg-config sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev sudo apt-get install libgtk2.
2017-11-02 13:33:22
3458
原创 TK1 Darknet上用RTSP网络摄像头 Gstreamer解码解决视屏马赛克解码速度不够的问题
"rtspsrc location=\"rtsp://192.168.0.220:554/user=admin&password=admin&channel=1&stream=0.sdp?real_stream--rtp-caching=10\" latency=10 ! rtph264depay ! h264parse ! omxh264dec ! videoconvert ! appsin
2017-07-27 17:55:49
2454
原创 NVIDIA TX2环境安装遇到的小问题
按照官网操作没有跳出IP界面...把FLASH OS...选择为no action 然后选择第一步 进行安装成功跳出来ip的界面。接着就是漫长的等待 完了设置环境变量。
2017-06-05 16:37:40
2013
原创 DM8127/DM8148图像算法移植
1,设备连接*板子上电:12v电源*网线用来传输数据。*串口用来打印信息和调试程序*一路高清输入 *一路输出 2,设置网段将ubuntu,开发板,pc三个设置在同一
2017-05-18 13:59:56
1397
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅