前言
19年在闻泰做项目的时候,第一次在项目上接触图像异常的问题。由于这方面的知识经验不是很好,为了更好学习和发展,所以准备完成一个系列。
一、什么是图像异常
日常拍照的正常的图片,接近人眼观测,展现物体反射光线的颜色。
图像异常:
(1)花屏、绿屏、蓝屏、水波纹、黑屏、无图像
(2)图片中间出现红光、蓝光、杂光、漏光等现象
(3)图片中间有常亮点或常黑点、损伤点
二、Dump拍照对应的raw图
2.1 Non-zsl拍照 算法需要pure raw
Non-zsl拍照会让P1node重新出raw图,而拍照会用到这些raw图中的imgo buffer。
adb root
adb shell setenforce 0
adb shell setprop vendor.debug.camera.dump.en 1
adb shell setprop vendor.debug.feature.forceEnableIMGO 1
adb shell setprop vendor.debug.camera.dump.p1.imgo 1Dump Path:/data/vendor/camera_dump
2.2 ZSL拍照
ZSL拍照会从zsl buffer pool中获取对应的imgo buffer。
2.2.1 通过P2CaptureNode过raw2raw
通过如下命令dump P2C的input和output raw:
adb shell setenforce 0
adb shell setprop vendor.debug.camera.p2.dump 1
adb shell setprop vendor.debug.camera.dump.campipe 1Dump Path:/data/vendor/camera_dump
2.2.2 通过P2CaptureNode过raw2yuv
通过如下命令dump P2C的input:
adb shell setenforce 0
adb shell setprop vendor.debug.camera.p2.dump 1
adb shell setprop vendor.debug.camera.dump.campipe 1Dump Path:/data/vendor/camera_dump
三、工具
3.1 yuv
3.1.1、7yuv简介
7yuv 是一个编辑和可视化原始图形数据和二进制文件的工具。它是一个有价值的工具,以协助开发游戏,视频编解码器,和一般图形编程。支持大量的表面格式,包括RGB和YUV像素格式。
打开任何文件,无论类型或大小。数据被处理为原始二进制,7yuv允许“位真编辑”,即不执行隐藏的数据转换。数据可以编辑在图形,十六进制,或文本模式。
7yuv 安装包可以从官方网站获得:http://datahammer.de/
3.1.2、步骤
(1)从 7yuv 工具打开 RAW 图像文件点击 File -> Open 打开一个 RAW 图像文件。
由于该图像文件的格式和大小与 7yuv 默认设置不同,所以还不能正常显示其内容。
(2)设置图像格式
(3)设置分辨率
(4)设置位数 :这里的位数 Bits 的范围是 1 到 16