MATLAB 图像伪彩色处理

伪彩色处理是根据特定的准则对灰度值附以彩色的处理,是将黑白图像转化为彩色图像,或者将单色图像变换成给定彩色分布的图像。由于人眼对彩色的分辨率远高于灰度差的分辨率,所以这种技术可用来识别灰度差较小的像素。以下是使用MATLAB来实现。

我使用的是灰度级变换方法:先将灰度图像经不同变换特性的红、绿、蓝三个通道,不同的灰度级三种颜色实施的变换不同,再讲三个不同的输出合成某种颜色,这样不同大小的灰度级就可以合成不同的颜色。

灰度值和三个通道的映射关系如图(这种关系可以根据需要更改):





由图中的对应关系,可以得出r、g、b、在四个灰度级的对应的函数关系式,用MATLAB实现如下:

im=imread('cell.jpg');
gray=rgb2gray(im);
I=double(gray);
[m,n]=size(I);
L=256;
for i=1:m
    for j=1:n
if I(i,j)<=L/4
    R(i,j)=0;
    G(i,j)=4*I(i,j);
    B(i,j)=L;
else if I(i,j)<=L/2
        R(i,j)=0;
        G(i,j)=L;
        B(i,j)=-4*I(i,j)+2*L;
    else if I(i,j)<=3*L/4
            R(i,j)=4*I(i,j)-2*L;
            G(i,j)=L;
            B(i,j)=0;
        else
            R(i,j)=L;
            G(i,j)=-4*I(i,j)+4*L;
            B(i,j)=0;
        end
    end
end
    end
end
for i=1:m
    for j=1:n
        rgbim(i,j,1)=R(i,j);
        rgbim(i,j,2)=G(i,j);
        rgbim(i,j,3)=B(i,j);
    end
end
rgbim=rgbim/256;
figure;
subplot(1,2,1);
imshow(gray);
subplot(1,2,2);
imshow(rgbim);


图像处理结果:



  • 16
    点赞
  • 180
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值