資源簡介
可應用于數字圖像處理,將灰度圖像或者彩色圖像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?????????????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游戲源碼
評論
共有 條評論