概述
1.简介:
本次分为两个过程—
a.前面对拿到的raw图进行了一次无脑demosaic,这次实验使用双线性对raw图进行插值;
b.业界demosaic一般研究方法及评价方法;
2.工具环境
python3.5+PIL+numpy+cv2
3. Code
a.针对原始raw图进行双线性插值
import numpy as np
from PIL import Image
from pylab import *
import cv2 as cv
import imTool
RawFile = imTool.ReadRawFile()
RawData = imTool.GetRawData(RawFile)
demosaicRaw = imTool.DemosaicRaw_Bilinear_Raw(RawData)
与无脑demosaic效果比较,左双线性插值,右无脑插值
b.业界研究方法及评价标准
(1)常用的图像数据集是Kodak Data,在手机终端上考虑到成本和空间因素,在CMOS/CCD感光器件上会附加一层CFA(Color Filter Array),实际得到的原始数据是Bayer格式的,即原始raw数据。
Kodak Data提供lossless真彩无损图像数据,由专业的设备采集而来,每个pixel的R、G、B都是通过感光器件得到的,图像大小为512*768,每个通道为8bit。
因此可以对真彩图像进行采样,模拟CFA器件,生成某幅图像的Bayer格式的数据,后续通过demosaic算法还原出RGB图像,评价方法就是将还原出的图像与采样前的真彩图像使用某些方法(MSE/PSNR)进行比较,进而评价该算法的优劣。
bayer_img = imTool.RgbLosslessImg2Bayer()
(2)对采样后的Bayer格式数据进行双线性插值,插值方法为:
bayer_img = imTool.RgbLosslessImg2Bayer()
demosaic_img = imTool.DemosaicRaw_Bilinear_Bayer(bayer_img)
(3) 通过对比可以发现demosaic后的图像存在拉链效应(zipper effect)和很明显的伪彩(false color)。
通过下面的图可以很好的解释为什么会存在这两个问题,感兴趣的可以自己研究下。
因此demosaic想做好,zipper effect 和 false color去除是必须要考虑进去的,当前的算法都依赖三个准则:光谱一致性、空间相关性、优先还原G通道等。后续会继续研究,待续。。。
最后
以上就是鲤鱼小笼包为你收集整理的Camera之Demosaic---双线性插值的全部内容,希望文章能够帮你解决Camera之Demosaic---双线性插值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复