【数字图像处理】Matlab实现-图像增强-彩色图像增强(彩虹编码,热金属编码)

伪彩色处理

伪彩色增强:把一幅黑白域图像的不同灰度级映射为一幅彩色图像的技术手段。

伪彩色增强有很多种方法,而下面的增强方法则是使用的空间域灰度级-彩色变换法。

空间域灰度级-彩色变换法:可以将灰度图像变为具有多种颜色渐变的连续彩色图像,变换后的图像视觉效果较好,主要色相是将灰度图像f(x,y)送入具有不同变换性质的红、绿、蓝3个变换器,相对应的产生3个不同的输入fR(x,y),fG(x,y),fB(x,y)将它们对应地作为彩色图像的红绿蓝三个色彩分量合成一副彩色图像。

彩虹编码和热金属编码是其中的两种变化函数。

彩虹编码

Image1=imread('lotus.bmp');
    
%转换为灰度
gray=rgb2gray(Image1);
[h,w]=size(gray);
%新图像的矩阵
NewImage3=zeros(h,w,3);
for x=1:h
    for y=1:w
        if gray(x,y)<96
        NewImage3(x,y,1)=0;
        elseif gray(x,y)<128
        NewImage3(x,y,1)=255*(gray(x,y)-96)/32;
        else
        NewImage3(x,y,1)=255;
        end
    end
end
for x=1:h
    for y=1:w
        if gray(x,y)<32
        NewImage3(x,y,2)=0;
        elseif gray(x,y)<64
        NewImage3(x,y,2)=255*(gray(x,y)-32)/32;
        elseif gray(x,y)<128
        NewImage3(x,y,2)=255;
        elseif gray(x,y)<192
        NewImage3(x,y,2)=255*(192-gray(x,y))/64;
        else
        NewImage3(x,y,2)=255*(gray(x,y)-192)/64;
        end
    end
end
for x=1:h
    for y=1:w
        if gray(x,y)<32
        NewImage3(x,y,3)=255*gray(x,y)/32;
        elseif gray(x,y)<64
        NewImage3(x,y,3)=255;
        elseif gray(x,y)<96
        NewImage3(x,y,3)=255*(96-gray(x,y))/32;
        elseif gray(x,y)<192 
        NewImage3(x,y,3)=0;
        else
        NewImage3(x,y,3)=255*(gray(x,y)-192)/64;
        end
    end
end
imshow(NewImage3),title('彩虹编码')

处理结果
20210416224555435.png

热金属编码

Image1=imread('lotus.bmp');
    
%转换为灰度
gray=rgb2gray(Image1);
[h,w]=size(gray);
%新图像的矩阵
NewImage4=zeros(h,w,3);
for x=1:h
    for y=1:w
        if gray(x,y)<64
        NewImage4(x,y,1)=0;
        elseif gray(x,y)<128
        NewImage4(x,y,1)=255*(gray(x,y)-64)/64;
        else
        NewImage4(x,y,1)=255;
        end
    end
end
for x=1:h
    for y=1:w
        if gray(x,y)<128
        NewImage4(x,y,2)=0;
        elseif gray(x,y)<192
        NewImage4(x,y,2)=255*(gray(x,y)-128)/64;
        else
        NewImage4(x,y,2)=255;
        end
    end
end
for x=1:h
    for y=1:w
        if gray(x,y)<64
        NewImage4(x,y,3)=255*gray(x,y)/64;
        elseif gray(x,y)<96
        NewImage4(x,y,3)=255;
        elseif gray(x,y)<128
        NewImage4(x,y,3)=255*(128-gray(x,y))/32;
        elseif gray(x,y)<192 
        NewImage4(x,y,3)=0;
        else
        NewImage4(x,y,3)=255*(gray(x,y)-192)/64;
        end
    end
end
imshow(NewImage4),title('热金属编码')

处理结果


20210416224614853.png
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (数字图像冈萨雷斯第二版教材)纯手打!给个赞吧! 一、基本原理 图像的读取、存储操作: 图像显示的⽅法及区别: 图...
    愉快先生阅读 11,690评论 0 6
  • 基础概念 数字图像:图像可定义为一个二维函数f(x,y),幅值f为图像的强度(灰度)。当x,y,f是有限的离散数值...
    MWhite阅读 12,262评论 0 3
  •   本节主要目的是介绍本书所用到的数字图像处理的一些基本概念。来源于东北大学 魏颖教授的数字图像课程笔记。 图像的...
    小小何先生阅读 5,934评论 0 6
  • 啥也先不说,Lena镇个楼。 第一章 绪论 * 数字图像:能够在计算机行显示和处理的图像。 *数字图像处理:利用计...
    CSDN_georgeChen阅读 15,517评论 4 23
  • 1.图像锐化与图像平滑有何区别与联系? 答:图象锐化是用于增强边缘,导致高频分量增强,会使图象清晰;图象平滑用于去...
    小土豆dy阅读 11,050评论 0 1

友情链接更多精彩内容