开源|HDR-ISP开源项目介绍
引言
拖更很久了,本着出品必精的原则,我们更新就来点干货。想起刚入行时,网上并没有很多以及系统的ISP的学习资料,都是边工作、边搜集资料然后边学习,一路坎坎坷坷走到今天算是刚入了ISP的大门。
为了解决新人入门的问题,给广大入门的新人一个参考的demo,我参考了各个开源的ISP,使用C++肝了一个用于HDR相机的开源ISP,用于给入门的新人参考。开源链接放在文末,有需要的自取。
1. 项目描述
1.1 项目特点
一个使用C++编写的、用于HDR相机的ISP Pipeline
- ISP模块使用C风格编写
- 除仓库文件外,无其它第三方库依赖
- 可以在任意支持C++的嵌入式平台上部署
- 可以通过json配置自定义你的pipeline
1.2 默认Pipeline
默认Json配置pipeline:
1.3 当前支持的模块
支持&准备支持的ISP模块列表:
- Raw Domain
- MipiUnPack: Mipi原始数据转RAW16
- DePwl: 解压缩数据
- Dpc: 动态坏点校准
- Lsc: 镜头阴影校准
- Blc: 黑电平校准
- Rns: Raw域降噪
- WbGain: 白平衡增益
- Demoasic: 解马赛克
- RGB Domain
- Ltm: 局部色调映射
- RgbGamma: rgb伽马曲线
- Ccm: 色彩校准矩阵
- Rgb2Yuv: rgb域转yuv域
- YUV Domain
- YGamma: 灰度伽马曲线
- Contrast: 对比度提升
- Sharpen: 锐化边缘增强
- Cns: 颜色滤波
- Saturation: 色度提升
- Yuv2Rgb: yuv域rgb域
2. 如何编译与运行
2.1 Linux系统
开发环境:
1 |
|
编译
1 |
|
2.2 Windows系统
开发环境(x64):
- vs code
- cmake
- msvc c++ gen tool
编译
1 |
|
2.3 运行
1 |
|
2.4 参数调试
通过修改json配置来配置ISP模块的基本参数
如,修改sensor基本参数:
1 |
|
修改rgb gamma参数如下:
1 |
|
3. 运行结果&其他ISP对比
3.1 Pipeline运行结果
备注 | 图像 |
---|---|
Raw | |
ISP Result(Ours) | |
FastOpenISP Result |
3.2 与fastOpenIsp细节对比
ISP | 图像1 | 图像2 | 备注 |
---|---|---|---|
Ours | 细节与边界明显保留 | ||
Fast Open Isp | 细节丢失以及Color banding |
3.3 后续工作
- 支持Lsc、Dpc、Rns、Cns等ISP模块;
- GUI ISP调试工具编写,支持Gui调参。
3.4 项目支持
- 感谢您的支持,希望我的项目对您有帮助
- 项目初期,希望各位多多点赞以及随手点亮小星星
- 为了使本项目更快地扩展开发,我们需要您的充电
4 结束语
今天我们给大家介绍了开源HDR-ISP,希望对于入门的新人有一定的借鉴作用,同时希望我们的开源对于处于行业里面的你们有所帮助!
如果您对自动驾驶感兴趣,可以关注本公众号,当然有想了解的话题,也可以私信我,我们将对各位看官感兴趣的话题进行技术分享。
项目地址:https://github.com/JokerEyeAdas/HDR-ISP
项目GitHub快速传送门:HDR-ISP
如果您对ADAS感兴趣,欢迎关注我的公众号、知乎、CSDN等,同时发表文章中使用源码会在我的GitHub进行开源(网页About Me中有公众号、Github等信息)
参考仓库
感谢下述仓库以及仓库作者!!
序号 | 仓库 | 开发语言 | 备注 |
---|---|---|---|
0 | OpenISP | Python | image signal process in C style |
1 | fast-openIsp | Python | open isp 快速版本 |
2 | ISP Lab | C++ | C++版本开源ISP |
3 | xk-ISP | C++ | 复旦大学开源HLS ISP |
开源|HDR-ISP开源项目介绍
https://jokereyeadas.github.io/2023/08/15/6.开源HDR-ISP介绍/