w=imread('wei.jpg'); % 如果图像是一幅真彩色RGB 图像
figure;imshow(w); title('原始图像');
w=rgb2gray(w); %将图像信息存入二维矩阵
[m n]=size(w); %二维矩阵的大小[m n]
%生成Red
for i=1:m %具体划分
for j=1:n %当像素的值为最小的像素值
if w(i,j)<64
r(i,j)=255;
elseif w(i,j)>127
r(i,j)=0; %进行r通道像素变换
else
r(i,j)=(127-w(i,j))*4;
end
end
%生成Green %进行g通道像素变换
for j=1:n
if w(i,j)<128
g(i,j)=0;
elseif w(i,j)>191
g(i,j)=255;
else
g(i,j)=(w(i,j)-127)*4;
end
end
%生成Blue %进行b通道像素变换
for j=1:n
if w(i,j)<64
b(i,j)=w(i,j)*4;
elseif w(i,j)>191
b(i,j)=255-(w(i,j)-191)*4;
else
b(i,j)=255;
end
end
end
figure,
subplot(1,3,1),imshow(r); title('红色通道');
subplot(1,3,2),imshow(g); title('绿色通道');
subplot(1,3,3),imshow(b);title('蓝色通道');
%合成为假彩色
p=uint8(zeros(m,n,3));
p(:,:,1)=uint8(r);
p(:,:,2)=uint8(g);
p(:,:,3)=uint8(b);
figure;imshow(p); title('假彩色图象');