matlab图像的增强

1.灰度变换增强
(1)图像直方图
(2)图像直方图的均衡化
2.频域滤波增强
(1)低通滤波器
(2)高通滤波器
(3)同态滤波器
3.彩色增强
(1)真彩色增强
(2)伪彩色增强
(3)假彩色增强
4.小波变换在图像增强方面的应用

图像增强是图像处理中的基本技术之一,它是把原来不清晰的图像变得清晰,或者抑制图像的某些特征而使另一些特征得到增强。其主要目的是使处理后的图像质量得到改善,增加图像的信噪比,或者增强图像的视觉效果。

一、灰度变换增强

由于受各种拍摄条件的限制,图像的对比度有时比较差,图像的直方图分布有时也不够均衡,主要的元素集中在几个像素值附近,通过直方图均衡化,可使得图像中各个像素值尽可能均匀地分布或者服从一定形式的分布,从而提高图像的对比度。
(1)图像直方图
直方图是多种空间域处理技术的基础。直方图操作能有效地增强图像,直方图固有的信息在其他图像处理应用中也是非常有用的,如图像压缩与分割
调用imhist函数可以显示一幅图像的直方图。

clc;        %clc的作用就是清屏幕
clear;      %clear是删除所有的变量
close all;  %close all是将所有打开的图片关掉。
array=zeros(1,256);
I=imread('E:\我的桌面\MATLAB\练习\2.jpg');
a=im2gray(I);               %转换为灰度像素
subplot(121),
imshow(a);                  %显示原图像
title('原始图像');
subplot(122),
imhist(I);                  %显示其直方图
title('直方图');

在这里插入图片描述
(2)图像直方图的均衡化

又称直方图平坦化,实质上是对图像进行非线性拉伸,重新分配图像象元值,使一定灰度范围内象元值的数量大致相等。这样,原来直方图中间的峰顶部分对比度得到增强,而两侧的谷底部分对比度降低,输出图像的直方图是一个较平的分段直方图。
调用histeq函数用于直方图均衡化

clc;                %clc的作用就是清屏幕
clear;              %clear是删除所有的变量
close all;          %close all是将所有打开的图片关掉。
array=zeros(1,256);
I=imread('E:\我的桌面\MATLAB\练习\2.jpg');
subplot(2,2,1);
imshow(I);
title('原始图像');
I=rgb2gray(I);
subplot(2,2,2);
imhist(I);
title('原始图像直方图');
I1=histeq(I);              %图像均衡化
subplot(2,2,3);
imshow(I1);
title('图像均衡化');
subplot(2,2,4);
imhist(I1);
title('直方图均衡化');

在这里插入图片描述

二、频域滤波增强

利用图像变换方法将原来的图像空间中的图像以某种形式转换到其他空间中,然后利用该空间的特有性质方便地处理图像,最后再转换回原来的图像空间中,从而得到处理后的图像。
(1) 低通滤波器
图像在传递过程中,由于噪声主要集中在高频部分,为去除噪声,改善图像质量,滤波器采用低通滤波器 H(u, v)来抑制高频成分,通过低频成分,然后再进行逆傅里叶变换获得滤波图像,这样就可达到平滑图像的目的。有理想低通滤波器、巴特沃斯低通滤波器、梯形低通滤波器、指数低通滤波器。

(2)高通滤波器
图像中的细节部分与其频率的高频分量相对应,所以高通滤波可以对图像进行锐化处理。高通滤波器与低通滤波器的作用相反,它使高频分量顺利通过,消弱低频。图像的边缘、细节主要位于高频部分,而图像的模糊是由于高频成分比较弱产生的。采用高通滤波器可以对图像进行锐化处理,其目的是消除模糊,突出边缘。有理想低通滤波器、巴特沃斯低通滤波器、梯形低通滤波器、指数低通滤波器。
(3)同态滤波器
为了增强图像细节的同时尽量保留图像的低频分量,使用同态滤波方法可以保留图像原貌的同时,对图像细节增强。

三、彩色增强

将灰度图像变成彩色图像或改变彩色图像已有彩色的分布,改善图像的可分辨性,可分为真彩色增强、伪彩色增强以及假彩色增强。

(1)真彩色增强
图像中的每个像素值都分成R、G、B 3个基色分量,每个基色分量直接决定其基色的强度,这样产生的色彩称为真彩色
例如,图像深度为24,用R:G:B=8:8:8来表示色彩,则R、G、B各占用8位来表示各自基色分量的强度,每个基色分量的强度等级为28=256种。图像可容纳224=16M种色彩。这样得到的色彩可以反映原图的真实色彩,故称真彩色。

clc;                %clc的作用就是清屏幕
clear;              %clear是删除所有的变量
close all;          %close all是将所有打开的图片关掉。
array=zeros(1,256);
RGB=imread('E:\我的桌面\MATLAB\练习\2.jpg'); %读取图像
subplot(221),
imshow(RGB)
title('原始真彩色图像')
subplot(222),
imshow(RGB(:, :,1))                  %开始对真彩色图像进行分解
title('真彩色图像的红色分量')
subplot(223),
imshow(RGB(:, :,2))
title('真彩色图像的绿色分量')
subplot(224),
imshow(RGB(:, :,3))
title('真彩色图像的蓝色分量')

在这里插入图片描述
(2)伪彩色增强
是把黑白图像的各个不同灰度级按照线性或非线性的映射函数变换成不同的彩色,得到一幅彩色图像的技术。
**密度分割法:**密把灰度图像的灰度级从黑到白分成N个区间,给每个区间指定一种彩色,这样便可以把一幅灰度图像变成一幅伪彩色图像。该方法的优点是比较简单、直观。

**空间域灰度级-彩色变换法:**与密度分割法不同,空间域灰度级-彩色变换法是一种更为常用、更为有效的伪彩色增强方法。其根据色彩学原理,将原图像f(x, y)的灰度范围分段,经过红、绿、蓝3种不同变换,变成三基色分量R(x, y)、G(x, y)、B(x, y),然后用它们分别去控制彩色显示器的红、绿、蓝电子枪,以在彩色显示器的屏幕上合成一幅彩色图像。
(3)假彩色增强
是将一幅自然彩色图像或同一景物的多光谱图像,通过映射函数变换成新的三基色分量,彩色合成,使感兴趣目标呈现出与原图像中不同的、奇异的彩色的方法。假彩色增强目的:一是使感兴趣的目标呈现奇异的彩色或置于奇特的彩色环境中,从而更引人注目;二是使景物呈现出与人眼色觉相匹配的颜色,以提高人眼对目标的分辨力。

clc;                %clc的作用就是清屏幕
clear;              %clear是删除所有的变量
close all;          %close all是将所有打开的图片关掉。
array=zeros(1,256);
RGB=imread('E:\我的桌面\MATLAB\练习\1.jpg'); %读取图像
imshow(RGB);
RGBnew(:, :,1)=RGB(:, :,3);     %进行假彩色增强处理
RGBnew(:, :,2)=RGB(:, :,1);
RGBnew(:, :,3)=RGB(:, :,2);
subplot(121);
imshow(RGB);
title('原始图像');
subplot(122);
imshow(RGBnew);
title('假彩色增强');

在这里插入图片描述

四、小波变换在图像增强方面的应用

(1)图像增强处理

图像增强问题主要通过时域和频域处理两种方法来解决。这两种方法具有很明显优势和劣势,时域方法方便、快速,但会丢失很多点之间的相关信息;频域方法可以很详细地分离出点之间的相关,但计算量大得多。小波分析是以上两种方法的权衡结果,它将一幅图像分解为大小、位置和方向都不同的分量。在做逆变换之前可以改变小波变换域中某些系数的大小,这样就能够有选择地放大所感兴趣的分量而减小不需要的分量。

(2)图像钝化与锐化
钝化操作主要是提出图像中的低频成分,抑制尖锐的快速变化成分。锐化操作正好相反,它是将图像中尖锐的部分尽可能地提取出来,以用于检测和识别等领域。
(3)小波图像去噪处理

MATLAB中,可以使用不同的方法来拉伸图像的对比度。引用\[1\]中的代码展示了一种自定义的灰度拉伸函数`myGrayScaleTransform`,它接受一个图像和一个参数`para`作为输入,然后根据参数的设置对图像进行灰度拉伸。具体来说,参数`para`是一个包含最小灰度值`a`和最大灰度值`b`的数组。函数首先将图像转换为`double`类型,并将像素值归一化到0到1之间。然后,它将像素值重新映射到指定的灰度范围`\[a, b\]`内,并将图像转换回`uint8`类型以便输出。 另一种方法是使用MATLAB图像处理工具箱中提供的函数`imadjust`,它可以对图像进行线性灰度变换。引用\[2\]中的代码展示了如何使用`imadjust`函数来调整图像的灰度。代码中首先读取一副图像,并将其分为红色、绿色和蓝色通道。然后,分别对每个通道使用`imadjust`函数进行灰度调整。最后,将调整后的通道重新组合成一副RGB图像。 另外,引用\[3\]中的代码展示了如何使用MATLAB对低对比度图像进行拉伸。代码中首先读取一副图像,并将其转换为灰度图像。然后,使用`imshow`函数显示原始图像。 综上所述,MATLAB提供了多种方法来拉伸图像的对比度,包括自定义函数和内置函数。您可以根据具体需求选择适合的方法进行图像处理。 #### 引用[.reference_title] - *1* [matlab实现 线性拉伸某灰度图像的对比度 代码 对比度拉伸](https://blog.csdn.net/weixin_37139761/article/details/83386396)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v4^insert_chatgpt"}} ] [.reference_item] - *2* [matlab图像点运算 对比度增强 对比度拉伸 灰度变换](https://blog.csdn.net/Ibelievesunshine/article/details/79947716)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v4^insert_chatgpt"}} ] [.reference_item] - *3* [[matlab数字图像处理3]打开一副低对比度图像,拉伸其图像对比度](https://blog.csdn.net/qq_46535765/article/details/126057678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v4^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值