基于Matlab的图像增强(一)

本文详细介绍了图像增强中的空间域处理方法,包括点运算、全局线性变换、反相变换、分段线性变换(对比度扩展与削波)、阈值化、对数变换、指数变换(伽玛变换)以及直方图均衡化。通过实例展示了Matlab代码实现这些变换,并分析了它们对图像对比度和亮度的影响。
摘要由CSDN通过智能技术生成

图形增强算法并不能增加原图像得信息,而只是通过某种技术手段是原始图像中某一部分更加突出显示出来。至今图像增强理论并无一权威的定义,它的基本方法主要包含图像增强的空间域处理和图像增强的频率域处理。前者是直接在图像像素的空间进行处理,后者是通过傅里叶变换到频率域进行处理。

1.图像增强的空间域处理

图像处理的实质就是采用不同的算法对矩阵进行变换。

1.1图像增强的点运算

图像增强的点运算,顾名思义,就是对图像中的像素点进行操作。对图像做点运算时,各像素之间没有关系,即对像素的处理是独立进行的。
Matlab工具箱中并没有直接定义对图像进行直接进行点运算的函数,而是点运算过程集成在某些图像处理函数中,下面就会接触到。

1.1.1全域线性变换

全域变换,就是对图像的每一个像素进行相同的函数变换。线性变换,简而言之,就是变换前后的像素满足线性关系。(由于是对灰度图像的处理,图像矩阵的每一点的值代表其灰度级)

(1)一般全域线性变换

(a)一般表达式:

(b)变换前后,图像灰度级变换图示:

其中,[a,b]是原图像f(x,y)的灰度级范围,[c,d]是变换后图像g(x,y)的灰度级范围。
(c)举例
代码:

%(1)全域线性变换
%原图像的灰度范围[A,B],变换后图像的灰度范围[C,D]
%上半部分显示原图像及其直方图
mImg = imread('C:\Users\林露露\Desktop\数字图像处理\数字图像学习\图像增强\云山.bmp');
subplot(2,2,1);
imshow(mImg);
title('The original image');
subplot(2,2,2);
imhist(mImg);
title('The histogram of the original image');
%下半部分显示全域线性变换后的图像及其直方图
mImg = double(mImg);
A = min(min(mImg));
%为何是两个min呢?
%那是因为图像矩阵是二维的,一个min只能求得一个数组,数组元素是原二维数组中每一列的最小值
B = max(max(mImg));
C = 0.0;
D = 255.0;
mImg1 = (D - C)/(B - A) * (mImg - A) + C;
mImg1 = uint8(mImg1);
subplot(2,2,3);
imshow(mImg1);
title('The image after the Full-domain linear transformation');
subplot(2,2,4);
imhist(mImg1);
title('The histogram of the later image');

运行截图:

(2)反相变换

反相变换就是将图像的每一像素点的灰度级取反,即g(x,y) = 255 - f(x,y)。
举例如下
代码:

%(1)反相变换
%上半部分显示原图像及其直方图
mImg = imread('C:\Users\林露露\Desktop\数字图像处理\数字图像学习\图像增强\云山.bmp');
subplot(2,2,1);
imshow(mImg);
title('The original image');
subplot(2,2,2);
imhist(mImg);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值