Camera之Demosaic---双线性插值

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()

左-真彩,右-采样bayer图

(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通道等。后续会继续研究,待续。。。

  • 1
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值