1.Floyd-Steinberg算法的原理是什么?分析为什么该如此设计,有何好处?
发布网友
发布时间:2022-04-25 04:47
我来回答
共1个回答
热心网友
时间:2023-10-26 23:54
原始图像:Lena
1 Dithering
function y=dither_d44(x)
D=[0 128 ;192 64];
r=repmat(D,size(x)/2);
y=x>r;
end
运行结果:
2 Error Diffusion
利用误差扩散算法中的Floyd-Steinberg抖动算法来对图像进行二值化处理
function y=fl_stein(x)
%
% FL_STEIN applies Floyd-Steinberg error diffusion to an image x,which is
% assumed to be of type unit8
%
height=size(x,1);
width=size(x,2);
y=uint8(zeros(height,width));
z=zeros(height+2,width+2);
z(2:height+1,2:width+1)=x;
for i=2:height+1,
for j=2:width+1,
if z(i,j)<128
y(i-1,j-1)=0;
e=z(i,j);
else
y(i-1,j-1)=255;
e=z(i,j)-255;
end
z(i,j+1)=z(i,j+1)+7*e/16;
z(i+1,j-1)=z(i+1,j-1)+3*e/16;
z(i+1,j)=z(i+1,j)+5*e/16;
z(i+1,j+1)=z(i+1,j+1)+e/16;
end
end
运行结果
上图眼睛放大部分