% MAKE_BAYER convert RGB image to a 2x2 [GR;BG] Bayer pattern
%% Ibayer = make_bayer(Irgb);%% Assignment 1 - sample code.function Ibay = make_bayer(Irgb)% NOTE: the bayer pattern here is thre 2x2 repeating% pattern [ B G ; G R ] that is:%% BGBGBGBGBGBGBGBGBGBG ...etc...% GRGRGRGRGRGRGRGRGRGR ...etc...% BGBGBGBGBGBGBGBGBGBG ...etc...% ........................etc...%% This pattern is ordered DIFFERENTLY to the one shown in the notes % but the reconstruction scheme as per lecture 1 would be the same.% convert if array is type uint8clc;clear;close all;I=imread('5.jpg');if (isa(I,'uint8')) I=double(I)/255; end % create output array Ibay = zeros(size(I,1),size(I,2)); % copy over colors according to [GR;BG] pattern Ibay(1:2:end,1:2:end) = I(1:2:end,1:2:end,3); % copy BLUE channel data Ibay(2:2:end,2:2:end) = I(2:2:end,2:2:end,1); % copy RED channel data Ibay(2:2:end,1:2:end) = I(2:2:end,1:2:end,2); % copy GREEN channel Ibay(1:2:end,2:2:end) = I(1:2:end,2:2:end,2); % copy GREEN channel imshow(Ibay);
处理后的图: