Advertisement
Guest User

Untitled

a guest
Mar 30th, 2015
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  1. function [ newImg ] = demozajka(img) tic [h w]=size(img); newImg=zeros(h,w,3); newImg=uint8(newImg); img2=uint16(img); img2(h+2, w+2)=0; img2=circshift(img2, [1 1]); for i=1:w+2 img2(1,i)=img2(3,i); img2(h+2,i)=img2(h,i); end for j=1:h+2 img2(j,1)=img2(j,3); img2(j,w+2)=img2(j,w); end for i=2:w+1 for j=2:h+1 for k=1:3 switch k case 1 if mod(i,2) == 0 if mod(j,2) == 0 newImg(j-1,i-1,1)=img2(j,i); else newImg(j-1,i-1,1)=(img2(j-1,i)+img2(j+1,i))/2; end else if mod(j,2) == 0 newImg(j-1,i-1,1)=(img2(j,i+1)+img2(j,i-1))/2; else newImg(j-1,i-1,1)=(img2(j+1,i+1)+img2(j+1,i-1)+img2(j-1,i+1)+img2(j-1,i-1))/4; end end case 2 if mod(i,2) == 0 if mod(j,2) == 1 newImg(j-1,i-1,2)=img2(j,i); else newImg(j-1,i-1,2)=(img2(j,i+1)+img2(j,i-1)+img2(j-1,i)+img2(j+1,i))/4; end else if mod(j,2) == 0 newImg(j-1,i-1,2)=img2(j,i); else newImg(j-1,i-1,2)=(img2(j,i+1)+img2(j,i-1)+img2(j-1,i)+img2(j+1,i))/4; end end case 3 if mod(i,2) == 1 if mod(j,2) == 1 newImg(j-1,i-1,3)=img2(j,i); else newImg(j-1,i-1,3)=(img2(j-1,i)+img2(j+1,i))/2; end else if mod(j,2) == 1 newImg(j-1,i-1,3)=(img2(j,i+1)+img2(j,i-1))/2; else newImg(j-1,i-1,3)=(img2(j+1,i+1)+img2(j+1,i-1)+img2(j-1,i+1)+img2(j-1,i+1))/4; end end end end end end toc end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement