图像Demosaic算法实验报告材料Word下载.docx

上传人:b****8 文档编号:22893146 上传时间:2023-02-05 格式:DOCX 页数:16 大小:1.65MB
下载 相关 举报
图像Demosaic算法实验报告材料Word下载.docx_第1页
第1页 / 共16页
图像Demosaic算法实验报告材料Word下载.docx_第2页
第2页 / 共16页
图像Demosaic算法实验报告材料Word下载.docx_第3页
第3页 / 共16页
图像Demosaic算法实验报告材料Word下载.docx_第4页
第4页 / 共16页
图像Demosaic算法实验报告材料Word下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

图像Demosaic算法实验报告材料Word下载.docx

《图像Demosaic算法实验报告材料Word下载.docx》由会员分享,可在线阅读,更多相关《图像Demosaic算法实验报告材料Word下载.docx(16页珍藏版)》请在冰豆网上搜索。

图像Demosaic算法实验报告材料Word下载.docx

绿色分量,利用双线性法可以得到:

由于双线性法是单通道之间独立插值,并且始终取3×

3滤波器的平均值,忽

略了细节信息,以及图片三个颜色通道之间的相关性,所以双线性法往往不能得

到满意的插值效果,容易在细线状态结构的边缘处产生锯齿形图案。

(2)自适应插值法

在Bayer格式中,绿色像素占了总像素的一半,也反映了更多的细节,因此,

插值都会优先考虑对绿色通道的恢复,而红色和蓝色的比例较少,细节信息少,

需要估算的信息多,失真会明显,为改进算法的性能,多会从改善红色与蓝色通

道着手。

为合理解决边界的插值问题,研究人员提出了基于梯度的插值算法。

为保证

插值是沿着边界进行,而没有跨越边界,在恢复绿色分量时,先通过计算梯度来

检测边界方向,从而选择合适的插值方向。

例如,为恢复出采样点的绿色分量,

先计算出该点水平和竖直方向的梯度算子。

参考图3-1,以B44为例,假设α为该采样点水平方向的梯度,β为竖直方向的梯度,

Laroche则通过计算二阶微分即色度分量来确定边界方向,其中:

如果α<

β,则认为水平方向存在边界的概率比较大,插值会沿着最可能的边

界进行,即在水平方向进行,而水平方向的邻域像素与被插值点的像素的相关性

也会大于竖直方向的像素。

插值结果如下式所示:

如果α>

β,则认为在竖直方向存在边界的概率大,插值在竖直方向进行,插

值结果为:

如果两者相比较相等的话,则认为该像素点处在一个平滑区域内,插值在整

个邻域内进行,认为:

一旦亮度被确定,则色度分量通常是由亮度信号和色度信号的相关性来进行

插值。

第二步:

在对红色和蓝色通道插值时,用到的基本思想是基于色差的插值算

法。

色差思想与色比恒定的思想是一致的,它认为在图片的小平滑区域内,色差

是恒定的。

假设(i,j)邻近的一个采样点是(m,n),则有:

上面的等式成立即是利用了色差恒定的原则。

假设我们需要恢复红色通道信息,根据阵列的排列规律,有三种不同的情况,

分别如下:

(1)假设要恢复G34处的红色分量:

(2)假设要恢复G43处的红色分量:

(3)假设要恢复B44处的红色分量:

蓝色通道处理往往是与红色通道一致,必须注意的是在色度值确立之时,已

经获得了整个图片的亮度信号。

经过这两个步骤的处理,可以获得Bayer图片的重构图像。

以上所述,即是自适应插值法的过程。

3、实验结果

原图

Bayer阵列

非自适应插值(双线性)

自适应插值法

4、总结

通过三类图像的比较,可以看出真彩色图像的三个颜色通道之间有很强的相

关性,插值最好结合其相关性,而不能依赖于单通道独立插值;

其次,由于图片

的失真往往出现在高频区域,必须考虑基于边界的插值方案,对图像的区域细节

特征进行分析,使得插值尽可能沿着边界方向,或是使得边界方向插值核的加权

系数尽可能大。

附录:

Matlab代码

%双线性插值

clear;

clc;

I=imread('

9.jpg'

);

figure

imshow(I);

[h,w,c]=size(I);

[m,n]=size(I);

m=h,

n=w;

fori=1:

2:

h

forj=1:

w

ifmod(j,2)==1

IMG(i,j,1)=I(i,j,1);

else

IMG(i,j,2)=I(i,j,2);

end

end

fori=2:

IMG(i,j,3)=I(i,j,3);

imshow(IMG);

%IMG11=rgb2gray(IMG);

%save('

Bayer.png'

'

IMG11'

IMG=double(IMG);

m-1

forj=2:

n-1

x11=IMG(i-1,j-1,1);

x12=IMG(i-1,j+1,1);

x21=IMG(i+1,j-1,1);

x22=IMG(i+1,j+1,1);

IMG(i,j,1)=uint8((x11+x21+x12+x22)/4);

ifIMG(i,j,1)==0

IMG(i,j,1)=0.25*(IMG(i,j+1,1)+IMG(i,j-1,1)+IMG(i+1,j,1)+IMG(i-1,j,1));

IMG(i,j,1)=IMG(i,j,1);

IMG(i,j,2)=0.25*(IMG(i,j+1,2)+IMG(i,j-1,2)+IMG(i+1,j,2)+IMG(i-1,j,2));

ifIMG(i,j,2)==0

x11=IMG(i-1,j-1,2);

x12=IMG(i-1,j+1,2);

x21=IMG(i+1,j-1,2);

x22=IMG(i+1,j+1,2);

IMG(i,j,2)=uint8(0.25*(x11+x21+x12+x22));

IMG(i,j,2)=IMG(i,j,2);

fori=3:

forj=3:

x11=IMG(i-1,j-1,3);

x12=IMG(i-1,j+1,3);

x21=IMG(i+1,j-1,3);

x22=IMG(i+1,j+1,3);

IMG(i,j,3)=uint8(0.25*(x11+x21+x12+x22));

ifIMG(i,j,3)==0

IMG(i,j,3)=0.25*(IMG(i,j+1,3)+IMG(i,j-1,3)+IMG(i+1,j,3)+IMG(i-1,j,3));

IMG(i,j,3)=IMG(i,j,3);

imshow(uint8(IMG));

%梯度

DD.jpg'

m=h;

R=zeros(m,n);

G=zeros(m,n);

B=zeros(m,n);

R1=zeros(m+4,n+4);

G1=zeros(m+4,n+4);

B1=zeros(m+4,n+4);

R=IMG(:

:

1);

G=IMG(:

2);

B=IMG(:

3);

R1(3:

m+2,3:

n+2)=R;

m+2,1)=R(:

m+2,2)=R(:

m+2,n+3)=R(:

n);

m+2,n+4)=R(:

n-1);

R1(1,:

)=R1(4,:

R1(2,:

)=R1(3,:

R1(m+3,:

)=R1(m+2,:

R1(m+4,:

)=R1(m+1,:

G1(3:

n+2)=G;

m+2,1)=G(:

m+2,2)=G(:

m+2,n+3)=G(:

m+2,n+4)=G(:

G1(1,:

)=G1(4,:

G1(2,:

)=G1(3,:

G1(m+3,:

)=G1(m+2,:

G1(m+4,:

)=G1(m+1,:

B1(3:

n+2)=B;

m+2,1)=B(:

m+2,2)=B(:

m+2,n+3)=B(:

m+2,n+4)=B(:

B1(1,:

)=B1(4,:

B1(2,:

)=B1(3,:

B1(m+3,:

)=B1(m+2,:

B1(m+4,:

)=B1(m+1,:

X=cat(3,R1,G1,B1);

figure,imshow(uint8(X))

fori=4:

m

forj=4:

n

a=abs(2*B1(i,j)-B1(i,j-2)-B1(i,j+2));

b=abs(2*B1(i,j)-B1(i-2,j)-B1(i+2,j));

ifa<

b

G1(i,j)=(G1(i,j-1)+G1(i,j+1))/2;

elseifa>

G1(i,j)=(G1(i-1,j)+G1(i+1,j))/2;

G1(i,j)=(G1(i-1,j)+G1(i,j-1)+G1(i,j+1)+G1(i+1,j))/4;

a=abs(G1(i,j-1)-G1(i,j+1));

b=abs(G1(i-1,j)-G1(i+1,j));

elseifa>

G1(i,j)=(G1(i,j-1)+G1(i,j+1)+G1(i-1,j)+G1(i+1,j))/4;

a=abs(2*(G1(i,j)-G1(i-1,j+1)-G1(i+1,j-1)))+abs(G1(i-1,j+1)-G1(i+1,j-1));

b=abs(2*(G1(i,j)-G1(i-1,j-1)-G1(i+1,j+1)))+abs(G1(i-1,j-1)-G1(i+1,j+1));

R1(i,j)=(R1(i-1,j+1)+R1(i+1,j-1))/2+(2*G1(i,j)-G1(i-1,j+1)-G1(i+1,j-1))/2;

R1(i,j)=(R1(i-1,j-1)+R1(i+1,j+1))/2+(2*(G1(i,j)-G1(i-1,j-1)-G1(i+1,j+1)))/2;

R1(i,j)=(R1(i-1,j-1)+R1(i-1,j+1)+R1(i+1,j-1)+R1(i+1,j+1))/4+(4*G1(i,j)-G1(i-1,j-1)-G1(i-1,j+1)-G1(i+1,j-1)-G1(i+1,j+1))/4;

m-1;

n;

R1(i,j)=(R1(i,j-1)+R1(i,j+1))/2-(G1(i,j-1)+G1(i,j+1))/2+G1(i,j);

m;

n-1;

R1(i,j)=(R1(i-1,j)+R1(i+1,j))/2-(G1(i-1,j)+G1(i+1,j))/2+G1(i,j);

%恢复蓝色分量

a=abs(2*(G1(i,j)-G1(i-1,j+1)-G1(i+1,j-1)))+abs(G1(i-1,j+1)-G1(i+1,j-1));

B1(i,j)=(B1(i-1,j+1)+B1(i+1,j-1))/2+(2*G1(i,j)-G1(i-1,j+1)-G1(i+1,j-1))/2;

B1(i,j)=(B1(i-1,j-1)+B1(i+1,j+1))/2+(2*(G1(i,j)-G1(i-1,j-1)-G1(i+1,j+1)))/2;

B1(i,j)=(B1(i-1,j-1)+B1(i-1,j+1)+B1(i+1,j-1)+B1(i+1,j+1))/4+(4*G1(i,j)-G1(i-1,j-1)-G1(i-1,j+1)-G1(i+1,j-1)-G1(i+1,j+1))/4;

B1(i,j)=(B1(i,j-1)+B1(i,j+1))/2-(G1(i,j-1)+G1(i,j+1))/2+G1(i,j);

B1(i,j)=(B1(i-1,j)+B1(i+1,j))/2-(G1(i-1,j)+G1(i+1,j))/2+G1(i,j);

X=uint8(X);

imshow(X);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1