推 hairless:感謝~幫推~!! 05/17 20:45
看懂就改,看不懂請不要抄XD
=================================================================
function dithering(filename, dim, level)
if ~exist(filename,'file')
error('File "%s" does not exist.', filename);
elseif mod(log2(dim),1) ~= 0
error('The input dim must be power of 2.');
end
x = imread(filename);
[height width] = size(x);
difference = ceil(255 / (level-1));
D = 0;
k = difference - 1;
for n = 1 : log2(dim) - 1
k = k / 4;
D = [D+k*0 D+k*2;D+k*3 D+k*1];
end
k = k / 3;
D = [D+k*0 D+k*2;D+k*3 D+k*1];
r = repmat(D, height/dim, width/dim);
x = double(x);
q = floor(x/difference);
x2 = q + (x-difference*q>r);
imshow(uint8(x2*difference))
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.89.82