图像增强运用空域点运算

灰度变换增强

灰度变换主要针对独立的像素点进行处理,由输入像素点的灰度值决定相应的输出像素点的灰度值,通过改变原始图像数据所占的灰度范围而使图像在视觉上得到改善。

1、线性灰度增强

线性灰度增强,将图像中所有点的灰度按照线性灰度变换函数进行变换。在曝光不足或过度的情况下,图像的灰度可能局限在一个很小的灰度范围内,这时图像可能会很模糊不清。利用一个线性单值函数对图像内的每一个像素做线性拓展,将会有效地改善图像的视觉效果。
基本原理:假设一幅图像f(x,y)变换前的的灰度范围是[a, b],希望变换后g(x,y)灰度范围拓展或者压缩至[c, d] ,则灰度线性变换函数表达式为: g ( x , y ) = [ d − c b − a ] ( f ( x , y ) − a + c ) . g(x,y) = [\displaystyle { \frac{d-c}{b-a}}](f(x,y)-a+c). g(x,y)=[badc](f(x,y)a+c).通过调整a,b,c,d,的值可以控制线性变换函数的斜率,从而达到灰度范围的拓展或压缩。

线性代码

%线性点运算
img = imread('nut.bmp');
figure;subplot(1,2,1);imshow(img);title('原图');
img = rgb2gray(img);
img = double(img);
[ROW, COL] = size(img);
max = 0;
imgNew = zeros(ROW, COL);
for i = 1:ROW
    for j = 1:COL
        if max < img(i, j)
            max = img(i, j) ;
        end
        imgNew(i, j) = img(i, j) .*1.5  ;
    end
end
subplot(1,2,2);imshow(uint8(imgNew));title('运算后');

2 、分段线性灰度增强

分段线性灰度增强可将需要的图像细节灰度级扩展,增强对比度,将不需要的图像细节灰度级压缩。

基本原理:假设输入图像f(x,y)的灰度为0 ~ M级,增强后图像g(x,y)的灰度级0 ~ N级,区间[a, b]、[c,d]分别为源图像和增强图像的某一灰度区间。分段线性变换函数为:
在这里插入图片描述

3、非线性灰度增强

在这里插入图片描述

非线性代码

%非线性点运算
imgAerial = imread('Aerial photography_source.bmp');
imgAerialRGB =  rgb2gray(imgAerial);
imgAerialRGBDouble = double(imgAerialRGB);
figure;subplot(1,2,1);imshow(imgAerial);title('原图');
subplot(1,2,2);imshow(imgAerialRGB);title('灰度化原图');
[ROWAerial, COLAerial] = size(imgAerialRGBDouble);
imgNewAerialIndex = 1.5 .^ (imgAerialRGBDouble*0.07) -1;%指数运算
imgNewAerialIndex(find(imgNewAerialIndex>255)) = 255;
imgNewAerialPow = 255 * (imgAerialRGBDouble/255) .^1.8;%幂运算
  
figure;subplot(1,2,1);imshow(uint8(imgNewAerialIndex));title('指数运算图像');
subplot(1,2,2);imshow(uint8(imgNewAerialPow));title('幂运算图像');
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值