• 数字图像增强的一般方法


    将给定的图像进行增强处理,分别使用线性变换增强、对数变换增强、指数变换增强以及伪彩色增强处理,分析增强后的视觉效果。首先,将原始图像进行灰度图像处理,以达到增强效果和原始图像对比。然后,分别根据线性变换增强、对数变换增强、指数变换增强和伪彩色增强公式,设置相应参数,由于matlab中没有相应库函数进行使用,因此需要设置线性变换参数等值。最后,将增强后图像与原始图像输出进行对比。

    一、主要设计思想

    线性变换增强对图像进行均衡化处理,并显示处理后图像及其直方图,与原图像作比较;对数变换常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节,指数变换增强由于Matlab中没有相应库函数进行使用,因此需要设置线性变换参数等值;利用空间域灰度级-彩色变化对图像进行伪彩色增强。

    二、实现算法及程序流程图

    三、源程序

    1、线性变换增强

    %线性变换增强
    i=imread('D:\pic\HG.bmp');%读原始图像
    subplot(221),imshow(i),title('原图像');
    subplot(222),imhist(i),title('原图像直方图');
    j=histeq(i);   %对图像i做直方图均衡化
    subplot(223),imshow(j),title('直方图均衡化');
    subplot(224),imhist(j),title('直方图均衡化');
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2、对数变换增强

    %对数变换增强
    i=imread('D:\pic\HG.bmp');
    j=double(i); ;%图像双浮点转换
    figure
    subplot(121),imshow(i),title('原图'); 
    j1=(log(j+1))/10; %对数变换表达式
    subplot(122),imshow(j1,[]),title('对数变换增强');
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3、指数变换增强

    %指数变换增强
    i=double(imread('D:\pic\linumax.jpg'));
    figure,subplot(221),imshow(i,[]);
    c = 4; n1 = 0.5;n2=1;n3=5;%设定指数变换参数
    i1 = c .* i .^n1;%指数变换表达式
    i2 = c .* i .^n2;%指数变换表达式
    i3 = c .* i .^n3;%指数变换表达式
    subplot(222),imshow(i1,[]),title('r=0.5')
    subplot(223),imshow(i2,[]),title('r=1')
    subplot(224),imshow(i3,[]),title('r=5')
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    4、伪彩色增强

    %伪彩色增强
    i=imread('D:\pic\HG.bmp');%读原始图像
    Gray=rgb2gray(i);%对图像灰度化
    [m,n]=size(Gray);
    J=zeros(m,n);
    for i=1:m
        for j=1:n
            if Gray(i,j)>=225
              j(i,j,1)=125; 
    else if Gray(i,j)<225&&Gray(i,j)>=125
              J(i,j,2)=125; 
            else if Gray(i,j)<125&&Gray(i,j)>=40
              J(i,j,1)=125; 
            else
              J(i,j,3)=0; 
             end
             end
           end
        end
    end
    subplot(121),imshow(J,[]),title('伪彩色增强');
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    四、主要技术问题的处理方法

    线性变换增强任选一幅灰度图像,显示原图像,绘制其及直方图,然后对图像进行均衡化处理,并显示处理后图像及其直方图,与原图像作比较。
    对数变换增强常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节更容易看清楚。
    指数变换增强是任选一副灰度图像对其进行指数变换增强,选择不同的r(分别取r=0.5,r= 1,r=5),观察分析其显示结果。
    伪彩色增强需要多重循环对不同坐标像素灰度值进行处理。

    五、实验结果及分析

    线性变换增强
    直方图均衡化扩展了原图的直方图,使图像的对比度扩大。但是比原图显得更粗糙,整体效果并不是很理想。
    对数变换增强

    实验可得,原图中低灰度值的部分在经过对数变换后灰度值有所增强。高灰度值的部分也同时增强了。
    指数变换增强
    当r<1时,图像变亮;当r=1时,没有改变;当r>1时,图像变暗。
    伪彩色增强
    利用空间域灰度级-彩色变化发对图像进行伪彩色增强,效果理想。

  • 相关阅读:
    Linux的十个常用命令
    使用numba cuda 加速Python运算
    myj的尘歌壶
    nodejs+vue+elementui图书在线阅读网站系统express
    VS2022和Qt联合编程修改exe图标
    Abnova丨CMV CISH 探头解决方案
    基于协同过滤算法的电影推荐系统
    淘宝API系列,商品详情数据的获取(数据聚全)
    Unity游戏客户端进阶路线(只针对本人)
    真实世界的密码学(一)
  • 原文地址:https://blog.csdn.net/Prototype___/article/details/125327277