主要功能是使灰度图中亮度越高的像素点,在伪彩色图中对应的点越趋向于红色;亮度越低,则对应的伪彩色越趋向于蓝色;
代码:
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++代码:
未完待续............