系列文章目录
树莓派5-学习笔记1:系统的烧录与安装
树莓派5-学习笔记2:配置VNC远程桌面
树莓派5-学习笔记3:系统更新与备份
树莓派5-学习笔记4:摄像模块安装、调试与网络摄像头的测试(imx219非原厂)
树莓派5-学习笔记5:树莓派+群辉NAS搭建个人监控中心
树莓派5-学习笔记6:rpicam-apps后处理方案调试(1)
1. JSON 配置文件核心语法
基础结构
{
"stage_name_1": {
"param1": value1,
"param2": value2,
"param3": [a,b,c,d,e]
},
"stage_name_2": {}
}
- 阶段顺序:阶段按 JSON 文件中的顺序执行。
- 参数传递:每个阶段的参数通过 JSON 对象传递。
2. 典型应用场景
场景1. 基础图像反转
创建一个名为:negate.json的文件,
sudo nano negate.json
复制下面内容
{
"negate": {}
}
效果:图像颜色反转
命令行执行:
rpicam-hello --post-process-file negate.json
画面显示为:
场景2:边缘检测
创建一个名为:sobel_cv.json的文件,复制下面内容
{
"sobel_cv" : {
"ksize": 5
}
}
Sobel filter强调图像的边缘,kszie对应的sobel filter的内核尺寸。
效果:“黑底白边”。
命令行执行:
rpicam-hello --post-process-file sobel_cv.json
画面显示为:
ksize只有能写单数,也就是1、3、5、7、9,这些,值越大白边越明显。
场景 3:素描效果(边缘检测 + 反转)
创建一个名为:sketch.json的文件,复制下面内容:
{
"sobel_cv": {
"ksize": 3
},
"negate": {}
}
效果:先检测边缘(亮边黑底),再反转颜色(黑边白底)。
命令行执行:
rpicam-hello --post-process-file sketch.json
画面显示为:
因为json配置文件是有循序的,我先现在来验证下。现在把negate的调到前面来,看看是什么效果。
{
"negate": {},
"sobel_cv": {
"ksize": 3
}
}
效果:应该就是先反转颜色,再检测边缘(黑底白边)。所以应该跟使用sobel_cv.json的效果一样就对了。
命令行执行:
rpicam-hello --post-process-file sketch.json
画面显示为:
果然和使用sobel_cv.json输出的效果一致。
总结
json配置文件可以直接从github上找到:https://github.com/raspberrypi/rpicam-apps/tree/main/assets。今天就先到这了。