您的位置:首页 > 其它

数字图像处理,图像的伪彩色处理

2015-04-15 17:53 218 查看
主要功能是使灰度图中亮度越高的像素点,在伪彩色图中对应的点越趋向于红色;亮度越低,则对应的伪彩色越趋向于蓝色;

代码:

clc;
close all;
clear;
img=imread('oct.bmp');

z=3;
[x,y]=size(img);
imshow(img);title('原图像');
img=double(img);

img_cai=zeros(x,y,z);%准备存储彩色图像

Max=max(max(img));%最大像素
Min=min(min(img));%最小像素

img=(255/(Max-Min))*img-(255*Min)/(Max-Min);
figure,
imshow(uint8(img));title('对比度调节');

r=1;
g=2;
b=3;

for i=1:x
for j=1:y
temp=(2*pi/(Max-Min))*img(i,j)-(2*pi*Min)/(Max-Min);

if temp <= pi/2 %灰度值比较低的,蓝色,倾向于是背景
img_cai(i,j,r)=0;
img_cai(i,j,g)=0;
img_cai(i,j,b)=255*(sin(temp));
end

if temp>pi/2 && temp<=pi %灰度值比较大的,
img_cai(i,g,r)=0;
img_cai(i,j,g)=255*(-cos(temp));
img_cai(i,j,b)=255*(sin(temp));
end

if temp>pi && temp<=pi*3/2 %灰度值比较大的,
img_cai(i,j,r)=255*(-sin(temp));
img_cai(i,j,g)=255*(-cos(temp));
img_cai(i,j,b)=0;
end

if temp > pi*3/2 %灰度值大的,红色
img_cai(i,j,r)=255*(-sin(temp));
img_cai(i,j,g)=0;
img_cai(i,j,b)=0;
end

%        img_cai(i,j,1)=127.5*(-sin(temp))+127.5;
%        img_cai(i,j,2)=127.5*(-cos(temp))+127.5;
%        img_cai(i,j,3)=127.5*(sin(temp))+127.5;
end
end

figure,
imshow(uint8(img_cai));title('伪彩色图像');


总体上按照灰度值高低,由红渐变至蓝,中间色为绿色。其对应关系如下图3所示:

原图:



对比度增强,简单灰度拉伸提高



伪彩色图像



C++代码:
未完待续............
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐