RV1106 USB摄像头实时yolov5推理教程
2026-04-14 来源:EEWorld 论坛
背景:官方的rknn_yolov5_demo通常通过加载静态图片进行推理,但在实际应用中,常需从摄像头实时捕获图片进行推理,这带来了不便。因此,我们对官方demo进行了改造,使其支持摄像头实时捕获和推理。
首先,克隆修改后的代码库。可直接从GitHub获取:https://github.com/LitchiCheng/RV1106_Linux。主要修改点如下:
1. 修改工程主目录下的CMakeLists.txt:
指定交叉编译器:
set (CMAKE_C_COMPILER "/mnt/d/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-gcc")
set (CMAKE_CXX_COMPILER "/mnt/d/luckfox-pico/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf-g++")
增加预编译变量声明:
add_definitions(-DRV1106_1103)
添加v4l2工具类:
add_executable(${PROJECT_NAME}
main.cc
postprocess.cc
../v4l2/tools/v4l2CapPicTool.cpp
${rknpu2_yolov5_file}
)
修改安装路径:
install(TARGETS ${PROJECT_NAME} DESTINATION ${OUTPUTPATH})
2. 修改RV1106_Linux/yolov5/3rdparty下的CMakeLists.txt:
设置架构类型为armhf_uclibc:
if (CMAKE_C_COMPILER MATCHES "uclibc")
set (TARGET_LIB_ARCH ${TARGET_LIB_ARCH}_uclibc)
endif()
使用armhf_uclibc版本的runtime库:
set(RKNN_PATH ${CMAKE_CURRENT_SOURCE_DIR}/rknpu2)
set(LIBRKNNRT ${RKNN_PATH}/${CMAKE_SYSTEM_NAME}/armhf-uclibc/librknnmrt.so)
set(LIBRKNNRT_INCLUDES ${RKNN_PATH}/include PARENT_SCOPE)
install(PROGRAMS ${LIBRKNNRT} DESTINATION ${OUTPUTPATH}/lib)
set(LIBRKNNRT ${LIBRKNNRT} PARENT_SCOPE)
3. 修改main.cc:集成v4l2摄像头捕获功能,实时捕获图片并推理。代码示例:
int main(int argc, char **argv)
{
if (argc != 3)
{
printf("%s <model_path> <camera_path>\n", argv[0]);
return -1;
}
const char *model_path = argv[1];
const char *image_path = "tmp.jpg";
std::string camera_path = std::string(argv[2]);
v4l2CapPicTool vt(camera_path, 1080, 960, "jpg");
vt.init();
// ... 后续推理代码
}
4. 构建和运行:
创建构建目录:
mkdir build
cd build
cmake ..
make
make install
生成文件位于output目录,复制到RV1106开发板运行测试:
sudo ./rknn_yolov5_realtime model/yolov5s_relu.rknn /dev/video9
测试结果:成功从USB摄像头捕获图片,进行yolov5推理,输出检测结果如书籍、电视等对象。
更多详细步骤和完整代码,请参考原帖子:RV1106手把手教你:惊呆了!USB摄像头秒变AI助手,rknn轻松拍照做yolov5推理!
原帖子内容来源:https://bbs.eeworld.com.cn/thread-1274253-1-1.html
- CIS推出搭载英飞凌EZ-USB™控制器的USB 3.2摄像头, 大幅提高数据传输速度与性能
- linux-2.6.38到tiny6410的移植手册(连载4)__USB设备(U盘,摄像头,wifi)
- 韦东山嵌入式Linux_3期之USB摄像头监控_手机App增加录像功能(二)
- 韦东山嵌入式Linux_3期之USB摄像头监控_手机App增加录像功能(一)
- 使用USB无线网卡和USB摄像头打造mini2440无线监控系统
- 基于S3C2440和USB摄像头的网络视频采集系统
- linux USB 摄像头 驱动 移植,使用
- 4412 使用usb摄像头拍照YUYV格式
- JZ2440内核编译的USB摄像头问题
- 赛普拉斯EZ-USB CX3助力Socionext全景摄像头方案
- 从云到边缘,再到物理世界:Microchip重构AI落地路径
- 得捷电子Follow me第4期项目总结:W5500-EVB-Pico与lwip网络应用开发
- 得捷电子Follow me第4期项目总结报告:W5500-EVB-Pico网络应用开发
- Teledyne e2v 启动面向宇航应用的16GB DDR4 X1飞行正片的量产
- 英特尔 "Nova Lake S" 处理器确认归属第四代酷睿 Ultra,2026Q4 量产
- 树莓派PicoW小车速度与距离控制实现详解
- rk3399平台MNN推理引擎benchmark测试:CPU与GPU性能对比
- pyarmnn图像分类推理入门教程
- RV1106 USB摄像头实时yolov5推理教程




