matlab空域内图像增强之灰度变换增强

原创 2018年04月16日 11:58:55

空域内的图像增强就是调整灰度图像的明暗对比度,是对图像中各个像素的灰度值直接进行处理。

灰度变换增强是空域内对图像进行增强的一种简单而有效的方法。灰度变换增强不改变原图像中像素的位置,只改变像素点的灰度值,并逐点进行。为了进行灰度变换,首先要获取灰度图像的直方图。具体实现的代码如下:

close all;clear all;clc;
%获取灰度图像的直方图
I=imread('pout.tif');
row=size(I,1);  %图像的行
col=size(I,2);  %图像的列
N=zeros(1,256);  %创建1行256列的零矩阵
for i=1:row
    for j=1:col
        k=I(i,j);
        N(k+1)=N(k+1)+1;  %统计各个灰度值的像素数 灰度值范围0-255
    end
end
figure,
subplot(121),imshow(I);
subplot(122),bar(N);  %绘制直方图
axis tight;  %设置坐标轴

运行结果如下:

从图中可以看到,图像的灰度值主要集中在80-150之间,因此该图像比较模糊。我们可以通过将图像的灰度值均匀地分布在0-255之间,来将图像变得更加清晰。同时,需要将小于80的灰度值设置为0,大于150的灰度值设置为255。将原图像的灰度值设为x,增强图像的灰度值设为y,则得到以下关系:

化简后得:

接下来我们具体实现调整灰度图像的灰度范围,增强图像

close all;clear all;clc;
%调整灰度图像的灰度范围去增强图像
I=imread('pout.tif');
I=double(I);
J=(I-80)*255/70;  %具体调整方案
row=size(I,1);  %图像的行
col=size(I,2);  %图像的列
for i=1:row
    for j=1:col
        if(J(i,j)<0)  %灰度小于0像素的直接赋值为0
            J(i,j)=0;
        end
        if J(i,j)>255;  %灰度大于255的像素直接赋值为最大的255
            J(i,j)=255;
        end
    end
end
figure;
subplot(121),imshow(uint8(I));  %显示原始图像 显示时,修改图像的数据格式为uint8类型
subplot(122),imshow(uint8(J));  %显示增强结果

可以看到图片给人的感觉是清晰度显著增强。


------坚持下去,少年!------

利用Delphi 5中调用Excel 97

利用Delphi 5中调用Excel 97 ---- 在Delphi 5中简单地封装了一组Microsoft Office自动化对象(Automation servers)。它使得我们很容易地把Off...
  • lyd
  • lyd
  • 2000-07-31 07:02:00
  • 748

数字图像处理空域增强matlab程序

  • 2010年12月07日 00:11
  • 29KB
  • 下载

图像的空域增强处理—空域滤波(matlab实现)

在这里我描述的是我一个初学者所收集到的一些较实用化的信息,具体原理不做描述;空域滤波分为:平滑滤波(低通滤波)、锐化滤波(高通滤波);平滑滤波(低通滤波):过滤掉图像中的高频部分(灰度变化较大较快部分...
  • qwe331822775
  • qwe331822775
  • 2018-03-27 21:10:00
  • 42

matlab学习笔记(五)---空域变换增强-直接灰度调整

1、像素选择 (1)函数pixval(matlab7.8中此函数已过时),改用impixelinfo,用来测试像素的值。 imshow canoe.tif; impixelinfo ...
  • u012495573
  • u012495573
  • 2015-11-13 15:09:26
  • 1760

MATLAB图像增强程序举例

1.灰度变换增强程序: % GRAY TRANSFORM clc; I=imread('pout.tif'); imshow(I); J=imadjust(I,[0.3 0.7],[0 ...
  • maopig
  • maopig
  • 2012-04-28 13:41:32
  • 11324

<em>matlab</em>钨丝<em>图像</em>局部<em>增强</em>

<em>增强图像</em>对比度算法原理及<em>matlab</em>代码<em>实现</em> <em>MATLAB</em>做的<em>图像空域增强</em> 立即下载 上传者: qly212 时间: 2011-10-18 综合评分: 4 积分/C币:3 真彩色增强数字图象...
  • 2018年04月17日 00:00

基于<em>matlab</em>的<em>图像</em>处理中的<em>空域</em>滤波

<em>MATLAB</em>做的<em>图像空域增强</em> 立即下载 上传者: qly212 时间: 2011-10-18 综合评分: 4 积分/C币:3 空域平滑滤波 立即下载 上传者: cz63869443 时间: 2013-01...
  • 2018年04月15日 00:00

matlab学习笔记(八)---空域滤波增强

1、平滑滤波器 1.1线性平滑滤波器 1.1.1给图像加入椒盐噪声
  • u012495573
  • u012495573
  • 2015-11-14 16:24:30
  • 2213

matlab学习笔记(七)---空域变换增强-图像间的代数运算

1、图像相加运算 1.1增强图像的亮度 I = imread('rice.png'); J = imadd(I,50); subplot(1,2,1), imshow(I),ti...
  • u012495573
  • u012495573
  • 2015-11-14 15:03:13
  • 711

增强图像对比度算法原理及matlab代码实现

关于图像增强必须清楚的基本概念 1.图像增强的目的: 1)改善图像的视觉效果, 2)转换为更适合于人或机器分析处理的形式 3)突出对人或机器分析有意义的信息 4)抑制无用信息,提高图像的使用价值 ...
  • liuxiangxxl
  • liuxiangxxl
  • 2017-11-28 17:20:54
  • 4218
收藏助手
不良信息举报
您举报文章:matlab空域内图像增强之灰度变换增强
举报原因:
原因补充:

(最多只允许输入30个字)