资源简介
可应用于数字图像处理,将灰度图像或者彩色图像R,G,B某个通道的图像转换为二值图像,也称半色调处理
代码片段和文件信息
function jarvis = jarvis_ht(imagefilename)
% 误差扩散算法——jarvis半调算法。将灰度图像很好的转换为二值图像。
% 对输入的image图像进行jarvis半色调处理并将生成的半色调图像保存为文件
% image:待半色调处理的图像
% filename:保存为图像文件的文件名
% jarivs半色调算法是有半色调算法中误差扩散的一种。
[mn]=size(image);
t=ones(mn)/2;
e=zeros(mn); %e为量化误差矩阵,初始值为零
image=double(image);
for i=1:m
for j=1:n
lu1 = LU1(ije);
lu2 = LU2(ije);
lu3 = LU3(ije);
lu4 = LU4(ije);
u1 = U1(ije);
u2 = U2(ije);
ru1 = RU1(ije);
ru2 = RU2(ije);
ru3 = RU3(ije);
ru4 = RU4(ije);
l1 = L1(ije);
l2 = L2(ije);
aij = lu1 + lu2 + lu3 + lu4 + u1 + u2 + ru1 + ru2 + ru3 + ru4 + l1 +l2;
fij = image(ij)/255 - aij;
if fij < t(ij) %t是阈值模板
jarvis(ij) = 0; % 0为黑
else
jarvis(ij) = 1;
end
e(ij) = jarvis(ij) - fij;
end
end
%imshow(jarvis);
imwrite(jarvisstrcat(filename‘_jarvis_halftone.bmp‘)‘bmp‘);
%|----------------------| |----------------------|
%| 7 5 | |lu4 lu3 u2 ru3 ru4|
%| 3 5 7 5 3 | |lu2 lu1 u1 ru1 ru2|
%| 1 3 5 3 1 | |l2 l1 |
%|----------------------| |----------------------|
% 左上方
f
- 上一篇:Java秒杀系统方案优化-高性能高并发实战.txt
- 下一篇:Java游戏源码
评论
共有 条评论