[EDIT: 20110623 11:12 CDT – reformat – WDR]
clc; I=imread('b2.bmp'); figure(1),imshow(I); I=double(I); [M,N] = size(I);% blue_mask = repmat([1 0; 0 0], M/2, N/2);
% green_mask = repmat([0 1; 1 0], M/2, N/2);
% red_mask = repmat([0 0; 0 1], M/2, N/2);
%
% R=I.*red_mask;
% G=I.*green_mask;
% B=I.*blue_mask;
B = I(1:2:end,1:2:end); G1 = I(1:2:end,2:2:end); G2 = I(2:2:end,1:2:end); R = I(2:2:end,2:2:end); G = (G1+G2)/2; figure(2), imagesc(R); figure(3), imagesc(G); figure(4), imagesc(B); final(:,:,1)=R; final(: ,:,2)=G; final(: ,:,3)=B; final=double(final); final=final*125/15; final=uint8(final);% imshow(final)
% I = imread('b2.bmp');
% J = demosaic(I,'bggr');
% imshow(I);
% figure, imshow(J);
Best Answer