ISP图像处理前后图像对比

化腐朽为神奇!经过ISP图像处理的图片前后对比是如此惊人!从下图中可以观察到,未经处理的原始图像偏绿且暗淡,而经ISP图像处理的图像能够清晰地还原现场真实的颜色细节!

图1 原始图像显示效果

图2 经ISP图像处理后显示效果
 
 ISP说明

ISP简介

ISP(Image Signal Processor),即图像信号处理,主要作用是处理前端图像传感器输出的信号,主要功能有线性纠正、噪声消除、自动白平衡、自动曝光控制等,能在不同的光学条件下很好地还原现场细节。

ISP优势

 

由于不同传感器的差异以及拍摄环境的多样性,传感器输出的原始数据和人们预期的图像有一定差距,因此ISP就起到了相当重要的作用。例如:夜间光照不足、大雾、沙尘等,均会使采集的图像造成影响,存在成像模糊、噪声污染及曝光不均等问题,而经ISP图像处理的图像会有明显的优化。

RK3568J ISP功能介绍

RK3568J的ISP21模块支持标准的Sensor图像数据处理,包括自动白平衡,自动曝光,Demosaic,坏点矫正及镜头阴影矫正等基本功能,也支持HDR、去雾、降噪等高级处理功能。ISP21功能框图如下图所示。

图3 ISP21功能框图

 

RK3568J的ISP图像处理基于RKISP2.x Tuner工具对摄像头采集的图像进行标定得到IQ参数文件,通过IQ参数文件将摄像头采集的图像进行优化处理后发送至显示设备。

RKISP2.x Tuner提供了一套便于用户调试ISP参数的工具,用户可以在RKISP2.x Tuner中对所有ISP模块开展标定(Calibration)、调试(Tuning)等工作。

图4 RKISP2.x Tuner工具界面
 

用户可以使用RKISP2.x Tuner提供的抓图工具(Capture Tool)来拍摄RAW图,在标定工具(Calibration Tool)中完成基础模块的标定工作,在RKISP2.x Tuner中连接设备,在线进行ISP参数调试。

图5 RKISP2.x Tuner调试流程图

RK3568J工业平台典型应用领域

图6 RK3568J工业平台典型应用领域


 
 

ISP图像处理开发案例

本章节主要介绍瑞芯微RK3568J的ISP图像处理开发案例,使用的硬件平台为:创龙科技TL3568-EVM工业评估板。
为了简化描述,正文仅摘录方案功能描述与测试结果,详细产品资料请扫描文末二维码下载。

功能说明

 

本案例基于RKISP2.x Tuner工具对摄像头采集的图像进行标定得到IQ参数文件,通过IQ参数文件将摄像头采集的图像进行优化处理后发送至显示设备。

硬件连接

 

评估板默认已支持HDMI OUT显示,请将评估板HDMI OUT接口连接至HDMI显示屏,使用FFC软排线将MIPI摄像头模块(型号为MCAM400)连接至评估板CAMERA接口,通过网线将评估板千兆网口ETH0 RGMII连接至路由器。硬件连接如下图所示。

图7

 

原始图像显示演示

 

评估板上电启动,执行如下命令将摄像头采集的图像实时显示至HDMI显示屏,该画面是未经过ISP图像处理的原始画面,如下图所示。按"Ctrl + C"可退出程序。

Target#/rockchip-test/camera/camera_rkisp_test.sh

图8

图9 原始图像显示效果


可以观察到,HDMI显示屏实时显示摄像头采集的原始图像偏绿色且暗淡。

RKISP2.x Tuner工具调试演示

 

以下主要介绍使用RKISP2.x Tuner工具进行标定处理。

打开RKISP2.x Tuner工具,导入原始图像后,进入CCM标定界面,然后设置饱和度,点击"Calibrate"开始标定。

图10

 

标定完成后,点击"Result"页面,可查看结果。

图11

 

可点击"Save"将新标定数据保存至IQ参数文件ov4689_RK-CMK-8M-2-v1_CK8401.json中。

备注:如需了解通过RKISP2.x Tuner工具创建及配置IQ参数文件的详细步骤,请参考我司提供的用户手册。

ISP图像处理效果演示

 

评估板上电启动,请将IQ参数文件ov4689_RK-CMK-8M-2-v1_CK8401.json拷贝至评估板文件系统"/etc/iqfiles/"目录下,然后重新启动评估板。

图12

 

进入评估板文件系统,执行如下命令,将摄像头采集的图像实时显示至HDMI显示屏,该画面是经ISP图像处理的显示效果,如下图所示。按"Ctrl + C"可退出程序。

Target#/rockchip-test/camera/camera_rkisp_test.sh

13

图14 经ISP图像处理后显示效果


可以观察到,摄像头实时采集的图像经过ISP图像处理后,显示效果相比原始图像有明显的优化。显示效果跟实际测试环境以及IQ参数文件配置有关,测试结果仅供参考。

 

化腐朽为神奇!揭开ISP图像处理的神秘面纱,基于瑞芯微RK3568J工业平台!的更多相关文章

  1. 【转】再讲IQueryable<T>,揭开表达式树的神秘面纱

    [转]再讲IQueryable<T>,揭开表达式树的神秘面纱 接上篇<先说IEnumerable,我们每天用的foreach你真的懂它吗?> 最近园子里定制自己的orm那是一个 ...

  2. 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍

    揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...

  3. 揭开A*算法的神秘面纱

    揭开A*算法的神秘面纱 一.总结 一句话总结:f(n)=g(n)+h(n) 这个算法有点像BFS的优化算法. g(n)为起点到当前方格的距离,这个是已知的. h(n)为当前方格到终点的距离,这个简单点 ...

  4. 再讲IQueryable<T>,揭开表达式树的神秘面纱

    接上篇<先说IEnumerable,我们每天用的foreach你真的懂它吗?> 最近园子里定制自己的orm那是一个风生水起,感觉不整个自己的orm都不好意思继续混博客园了(开个玩笑).那么 ...

  5. 揭开SQL注入的神秘面纱PPT分享

        SQL注入是一个老生常谈但又经常会出现的问题.该课程是我在公司内部培训的课程,现在分享出来,希望对大家有帮助.     点击这里下载.

  6. 揭开HTTP网络协议神秘面纱系列(三)

    HTTP首部字段有四种类型:通用首部字段,请求首部字段,响应首部字段,实体首部字段. 通用首部字段: 首部字段 说明 Cache-Control 控制缓存的行为 Connection 逐跳首部.连接的 ...

  7. 揭开HTTP网络协议神秘面纱系列(二)

    HTTP报文内的HTTP信息 HTTP协议交互的信息被称为HTTP报文,请求端的HTTP报文叫做请求报文,响应端的叫做响应报文. HTTP为了提升传输速率,其在传输数据时,按照数据原样进行压缩传输,相 ...

  8. 揭开HTTP网络协议神秘面纱系列(一)

    1.了解Web及网络基础 TCP/IP协议族按层次可以分为下面四层: 应用层:决定了向用户提供应用服务时通信的活动,TCP/IP协议族内预存了各类通用的应用服务,比如:FTP(文件传输协议)和DNS( ...

  9. 揭开yield关键字的神秘面纱

    写在前言 经常会看见,python函数中带有yield关键字,那么yield是什么,有什么作用? 答案:可以理解yield是一个生成器: 作用:遇到yield关键字,函数会直接返回yield值,相当于 ...

  10. 1.揭开消息中间件RabbitMQ的神秘面纱

    当你看到这篇博文的时候,相信你至少已经知道RabbitMQ 是一个非常优秀的消息中间件,它使用专门处理高并发的Erlang 语言编写而成的消息中间件产品. 当然如果你不知道也没关系,读完本篇你将Get ...

随机推荐

  1. 【web安全】修改和配置tomcat版本信息

    场景 目前网络安全的越来越受重视,tomcat作为重要的web容器被广泛应用,如何隐藏信息保证.在开放网络世界中,不易被攻击. 操作思路 1.进入Tomcat文件中的lib文件夹,将catalina. ...

  2. go-admin开发小技巧

    搜索条件参考下面的文件 https://github.com/go-admin-team/go-admin-core/blob/master/tools/search/query_test.go ty ...

  3. js数组方法之数组变异方法

    push.pop.unshift.shift.sort.splice.reverse 以上这些方法都会改变原数组并且 这些方法的返回值是值得注意的有时候可以提高工作效率,比如pop方法的返回值是该元素 ...

  4. Spring源码阅读 ------------------- SpringFrameWork 5.2 +IDEA 部署其他坑位问题(二)

    一.地址下jar包无法下载问题   报错信息:      Could not get resource 'https://plugins.gradle.org/m2/org/asciidoctor/o ...

  5. Haproxy+Nginx+Tomcat实现动静分离页面

    一.Haproxy概述: 二.Haproxy原理实现: 三.Nginx.LVS.Haproxy对比: 四.Haproxy配置文件讲解: 五.案例:Haproxy+Nginx+Tomcat搭建高可用集群 ...

  6. C++ Virtual Functions

    Virtual这个关键字在多态中扮演一个绝对重要的角色,只要member functions声明的前面加上virtual的关键字,他就会成为 Virtual member functions.任何一个 ...

  7. Windows 7 任务栏开发 之 进度条(Progress Bar)

    上一篇我们完成了"覆盖图标"(Overlay Icon)的相关开发,本篇我们将对进度条特性进行研究.在使用IE 下载文件时,任务栏图标会同步显示当前下载进度(如下图).那么在应用程 ...

  8. ceph deploy部署ceph集群 ceph扩容 rbd存储

    架构拓扑 节点主机 节点IP 节点角色 OS ceph-admin 10.0.0.60 admin deploy mds centos7 ceph-node1 10.0.0.61 mon osd md ...

  9. Cmockery学习

    什么是cmockery? 是一个轻量级的C语言单元测试框架 什么是单元测试? 单元测试就是测试一个系统的最小实现单元,往往是函数 示例解析 #include <stdarg.h> #inc ...

  10. #define、const和enum

    enum:枚举类型(枚举变量的值只能等于枚举中定义的常量) #define:明示常量(定义真正的常量) const:限定符(名不符实,应该叫read only),限定一个变量为只读 C语言常量: 1. ...