开源|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: 动态坏点校准(TBD)
    • Lsc: 镜头阴影校准(TBD)
    • Blc: 黑电平校准
    • Rns: Raw域降噪
    • WbGain: 白平衡增益
    • Demoasic: 解马赛克
  • RGB Domain
    • Ltm: 局部色调映射
    • RgbGamma: rgb伽马曲线
    • Ccm: 色彩校准矩阵
    • Rgb2Yuv: rgb域转yuv域
  • YUV Domain
    • YGamma: 灰度伽马曲线
    • Contrast: 对比度提升
    • Sharpen: 锐化边缘增强
    • Cns: 颜色滤波(TBD)
    • Saturation: 色度提升
    • Yuv2Rgb: yuv域转rgb域

2. 如何编译与运行

2.1 Linux系统

开发环境:

#dependencies install(cmake and opencv)
sudo apt update
sudo apt install cmake

编译:

git clone https://github.com/JokerEyeAdas/HDR-ISP
cd HDR-ISP/
mkdir build
cmake ..
make -j12

2.2 Windows系统

开发环境(x64):

  • vs code
  • cmake
  • msvc c++ gen tool

编译:

git clone https://github.com/JokerEyeAdas/HDR-ISP
code HDR-ISP
#cmake 选择 Debug or Release
#compiler 选择 xxx-amd64
#build all

2.3 运行

cd build
#cp cfgs and data
cp -r ../data/ ./
cp -r ../cfgs/ ./
#run isp
./HDR_ISP ./cfgs/isp_config_cannon.json

2.4 参数调试

通过修改json配置来配置ISP模块的基本参数

如,修改sensor基本参数:

"raw_file": "./data/connan_raw14.raw",
"out_file_path": "./",
"info": {"sensor_name": "cannon","cfa": "RGGB","data_type": "RAW16","bpp": 16,"max_bit": 14,"width": 6080,"height": 4044,"mipi_packed": 0
},

修改rgb gamma参数如下:

"rgbgamma": {"enable": true,"in_bit": 10,"out_bit": 8,"gammalut_nums": 11,"gammalut": [0,0.3504950718773984,0.48243595264750255,0.57750428843709,0.6596458942714417,0.731034378464739,0.7925580792857235,0.8509817015104557,0.9029435754464383,0.9534255851019492,1.0]}

3. 运行结果&其他ISP对比

3.1 Pipeline运行结果

HDR-ISP结果

3.2 与fastOpenIsp细节对比

在这里插入图片描述

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感兴趣,欢迎关注我的公众号“ADAS之眼”,知乎、CSDN等平台同步更新,同时发表文章中使用源码会在我的GitHub进行开源(网页About Me中有公众号、Github等信息)

5. 参考仓库

感谢下述仓库以及仓库作者!!

序号仓库开发语言备注
0OpenISPPythonimage signal process in C style
1fast-openIspPythonopen isp 快速版本
2ISP LabC++C++版本开源ISP
3xk-ISPC++复旦大学开源HLS ISP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/73171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JetBrains出品的IDE自动补全和提示文档设置

如题下图设置前景色和背景色: 效果如下图,标识1是Completion,标识2是Documentation:

1.8 工程相关解析(各种文件,资源访问

目录 1.8 工程相关解析(各种文件,资源访问) 分类 Android 基础入门教程 本节引言: 1.工程项目结构解析: 1.res资源文件夹介绍: 2.如何去使用这些资源 2.深入了解三个文件: MainActivity.java: 布局…

将 Qt Designer 的 ui 文件转换为 PySide2 使用的.py 文件

20201206 修订:在 Pyside2 的 5.15.2 版本中,从 ui 生成 py 文件过程,命令从 “uic” 变为 “pyside2-uic” Qt Designer 设计的 ui 文件,就是一个 xml 文件,通过 pyside-uic 可以转换成标准的.py 文件 。通过 QtDesi…

电商(淘宝1688京东拼多多等)API接口服务:提升商业效率和用户体验的关键

电商API接口服务:提升商业效率和用户体验的关键 随着电子商务的飞速发展,电商企业需要不断提升自身的业务能力和服务质量,以应对日益激烈的市场竞争。为了更好地满足商家和消费者的需求,电商API接口服务应运而生。本文将探讨电商…

Flink--2、Flink部署(Yarn集群搭建下的会话模式部署、单作业模式部署、应用模式部署)

星光下的赶路人star的个人主页 你必须赢过,才可以说不在乎输赢 文章目录 1、Flink部署1.1 集群角色1.2 Flink集群搭建1.2.1 集群启动1.2.2 向集群提交作业 1.3 部署模式1.3.1 会话模式(Session Mode)1.3.2 单作业模式(Per-Job Mod…

华为云云耀云服务器L实例评测|使用Linux系统与Docker部署.net/c#项目

目录 前言 如何在CentOS运行项目 登录CentOS 使用Rider打包 使用Visual Studio打包 项目运行 后台运行 开放端口 如何在Docker中运行项目 项目运行 前言 本章详细介绍,.net Core项目从打包到部署上华为云云耀云服务器L实例的过程与一些细节问题。在这里…

Outlook无需API开发连接钉钉群机器人,实现新增会议日程自动发送群消息通知

Outlook用户使用场景: 在企业中,会议和活动的顺利举行对于业务运转和团队协作至关重要。然而,计划的变动总是无法避免,这可能会导致其他人的计划受到影响,打乱原有的安排。为了解决这个问题,许多企业开始使…

快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像

快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像 项目介绍需要重点关注的几个文件构建cpu版本的docker构建gpu版本的docker(cuda11.2cudnn8) 阅读提示: (1)Paddle的Serving项目中,在t…

【autodl/linux配环境心得:conda/本地配cuda,cudnn及pytorch心得】-未完成

linux配环境心得:conda/本地配cuda,cudnn及pytorch心得 我们服务器遇到的大多数找不到包的问题一,服务器安装cuda和cudnn使用conda在线安装cuda和cudnn使用conda进行本地安装检查conda安装的cuda和cudnn本地直接安装cuda和cudnn方法一&#x…

Linux Debian12将本地项目上传到码云(gitee)远程仓库

一、注册码云gitee账号 这个可以参考其他教程,本文不做介绍。 gitee官网:https://gitee.com/ 二、Linux Debian12安装git 如果Linux系统没有安装git,可以使用下面命令安装git sudo apt install git 三、gitee新建仓库 我这只做测试&…

69、配置AWS服务,接收来自RTSP流的推送

基本思想:在上一篇的基础和视频教程之后,进行简单的aws服务,进行RTSP流的接收 第一步: 第二步:配置video_stream,记得选择香港节点 同时记录这个信息,后面的策略需要填充 第三步:进行策略设置 第四步:策略设置,选中右上角的创建策略 第五步、进行json填充 第六步:填…

精益创业的三个测量方法

精益创业三个测量工具【安志强趣讲282期】 趣讲大白话:没法度量就没法改进 **************************** 工具1:AB对比测试 就是产品有两个或多个版本 然后通过外部客户或内部人员评测 可以组织天使用户群:愿意参与的专业人士 工具2&#x…

微服务井喷时代,我们如何规模化运维?

随着云原生技术发展及相关技术被越来越多运用到公司生产实践当中,有两种不可逆转的趋势: 1、微服务数量越来越多。原来巨型单体服务不断被拆解成一个个微服务,在方便功能复用及高效迭代的同时,也给运维带来了不少挑战:…

大数据技术之Hadoop:MapReduce与Yarn概述(六)

目录 一、分布式计算 二、分布式资源调度 2.1 什么是分布式资源调度 2.2 yarn的架构 2.2.1 核心架构 2.2.2 辅助架构 前面我们提到了Hadoop的三大核心功能:分布式存储、分布式计算和资源调度,分别由Hadoop的三大核心组件可以担任。 即HDFS是分布式…

基于Docker从零到一实操MySql的主从复制

文章目录 一、在Docker上安装,启动MySQL查看docker是否安装成功安装mysql查看mysql镜像进入mysql后台操作docker Volume(卷)入门 MySql的主从复制1. 创建MySQL主从复制的网络2. 创建MySQL主服务器3. 创建MySQL从服务器4. 配置主从同步5.测试主…

2023高教社杯数学建模E题思路代码 - 黄河水沙监测数据分析

# 1 赛题 E 题 黄河水沙监测数据分析 黄河是中华民族的母亲河。研究黄河水沙通量的变化规律对沿黄流域的环境治理、气候变 化和人民生活的影响, 以及对优化黄河流域水资源分配、协调人地关系、调水调沙、防洪减灾 等方面都具有重要的理论指导意义。 附件 1 给出了位…

在学习编程的过程中,我会记录下以下内容:

在学习编程的过程中,我会记录下以下内容: 常用代码片段:我会记录一些常用的代码片段,例如文件读写、列表操作、字符串处理等。这些代码片段可以在日常编程中快速复用,提高编码效率。 # 文件读取 with open(file.txt,…

软考高级架构师下篇-14面向服务架构设计理论

目录 1. 引言2. SOA的相关概念3. SOA的发展历史4. SOA的参考架构5. SOA 主要协议和规范6. SOA设计的标准要求7. SOA的作用与设计原则8. SOA的设计模式9. SOA构建与实施10. 前文回顾1. 引言 在面向服务的体系结构(Service-Oriented Architecture,SOA)中,服务的概念有了延伸…

使用EMgu检测人脸

1,安装EMgu 在NuGet中,查找并安装EMgu 2,做人脸检测 首先,声明几个重要的类 //Thread.Sleep(3000);matImg = new Mat();capture.Retrieve(matImg, 0); frame=new Image<Bgr, byte>(matImg.Bitmap); 当,frame != null时,检测到人脸 3,给人脸画框 i…

苹果macOS 13.5.2正式发布 修复ImageIO进程

9 月 8 日消息&#xff0c;苹果今日向 Mac 电脑用户推送了 macOS 13.5.2 更新&#xff08;内部版本号&#xff1a;22G91&#xff09;&#xff0c;本次更新距离上次发布隔了 21 天。 需要注意的是&#xff0c;因苹果各区域节点服务器配置缓存问题&#xff0c;可能有些地方探测到…