MATLAB图像增强总结程序

合集下载

使用Matlab进行数字图像增强的方法

使用Matlab进行数字图像增强的方法

使用Matlab进行数字图像增强的方法引言:数字图像增强是一种改善图像质量和提升可视化效果的方法。

在实际应用中,我们常常需要对图像进行增强,以便更好地分析和理解图像内容。

使用Matlab作为工具,可以方便地对图像进行各种增强操作。

本文将介绍几种常用的数字图像增强方法,并结合具体示例演示其在Matlab中的实现。

一、直方图均衡化直方图均衡化是一种通过调整图像像素值的分布来增强对比度的方法。

它可以将像素值均匀分布在整个灰度级范围内,从而增强图像的细节和清晰度。

在Matlab中,我们可以使用函数histeq来实现直方图均衡化。

实例:假设我们有一张灰度图像lena.jpg,我们想对它进行直方图均衡化。

首先,我们可以使用imread函数读取图像,并将其转换为灰度图像。

```matlabimg = imread('lena.jpg');gray_img = rgb2gray(img);```然后,利用histeq函数对图像进行直方图均衡化。

```matlabenhanced_img = histeq(gray_img);``````matlabimshow(enhanced_img);```运行以上代码,我们可以得到一张直方图均衡化后的图像。

二、滤波增强滤波增强是一种通过应用滤波器来减少噪声和增强图像细节的方法。

在Matlab 中,我们可以使用各种滤波器函数来实现滤波增强,如均值滤波、中值滤波和高斯滤波等。

实例:假设我们有一张包含噪声的图像cameraman.jpg,我们想对其进行滤波增强。

首先,我们可以使用imnoise函数在图像中添加高斯噪声。

```matlabimg = imread('cameraman.jpg');noisy_img = imnoise(img, 'gaussian', 0, 0.01);```然后,我们可以使用imfilter函数对图像进行滤波增强。

Matlab中的图像增强方法

Matlab中的图像增强方法

Matlab中的图像增强方法图像增强是数字图像处理中的一项重要技术,通过使用各种算法和方法,可以改善图像的质量、增加图像的信息量和清晰度。

在Matlab中,有许多强大而灵活的工具和函数,可以帮助我们实现图像增强的目标。

本文将介绍几种常用的Matlab图像增强方法,并探讨它们的原理和应用。

一、直方图均衡化直方图均衡化是一种常用的图像增强方法,通过调整图像的像素分布来增强图像的对比度和亮度。

在Matlab中,我们可以使用“histeq”函数来实现直方图均衡化。

该函数会根据图像的直方图信息,将像素的灰度值重新映射到一个均匀分布的直方图上。

直方图均衡化的原理是基于图像的累积分布函数(CDF)的变换。

它首先计算图像的灰度直方图,并根据直方图信息计算CDF。

然后,通过将CDF线性映射到期望的均匀分布上,将图像的像素值进行调整。

直方图均衡化的优点在于简单易实现,且效果较好。

但它也存在一些限制,比如对噪声敏感、全局亮度调整可能导致细节丢失等。

因此,在具体应用中,我们需要权衡其优缺点,并根据图像的特点选择合适的方法。

二、自适应直方图均衡化自适应直方图均衡化是对传统直方图均衡化的改进,它能够在改善对比度的同时,保持局部细节。

与全局直方图均衡化不同,自适应直方图均衡化采用局部的直方图信息来进行均衡化。

在Matlab中,我们可以使用“adapthisteq”函数来实现自适应直方图均衡化。

该函数会将图像分成小块,并在每个块上进行直方图均衡化。

通过这种方式,自适应直方图均衡化可以在增强图像对比度的同时,保留图像的细节。

自适应直方图均衡化的优点在于针对每个小块进行处理,能够更精确地调整局部对比度,避免了全局调整可能带来的细节丢失。

然而,相对于全局直方图均衡化,自适应直方图均衡化的计算量较大,因此在实时处理中可能会引起性能问题。

三、模糊与锐化图像增强不仅局限于对比度和亮度的调整,还可以改善图像的清晰度和边缘信息。

在Matlab中,我们可以使用一些滤波器来实现图像的模糊和锐化。

实验二 图像增强 matlab程序和结果分析

实验二  图像增强  matlab程序和结果分析

实验二图像增强李影通信092 092302一实验目的1.掌握图像灰度变换的基本原理。

2.掌握图像灰度级修正方法,即直方图均衡化法。

3.图像平滑的主要目的是减少噪声。

噪声有很多种类,不同的噪声有不同的抑制措施。

要求掌握常用的图像平滑的空间域方法和频率域方法。

4.锐化处理技术的主要目的用于加强图像的目标边界和图像细节,要求掌握常用的图像锐化的空间域方法和频率域方法。

二实验原理三 实验内容(一)图像灰度变换1.灰度线性变换—图像反转%图像反转线性变换I=imread('sailboat.bmp') %读原始图像%将图像矩阵转化为double 类型J=double(I);J=-J+(256-1); %图像反转线性变化%double 数据类型转化为unit8类型H=uint8(J);subplot(1,2,1),imshow(I);%显示灰度原始图像subplot(1,2,2),imshow(H);%显示灰度反转后图像2.灰度非线性变—对数变换%灰度非线性变换:对数变换I=imread('saturn.bmp'); %读原始图像J=double(I); %将图像矩阵转化为double 类型J=40*(log(J+1));%图像进行对数变换H=uint8(J);%double 数据类型转化为unit8类型subplot(2,1,1),imshow(I); %显示对数变换前的图像subplot(2,1,2),imshow(H); %显示对数变换前的图像3.灰度图像与对应直方图的显示%灰度图像与对应直方图的显示clear;close all;I=imread('elain.bmp'); %读原始图像figure,imshow(I,256); %显示灰度图像xlabel('f'),ylabel('g');figure,imhist(I,64); %显示直方图图像fg 0501001502002504.直方图均衡化%直方图均衡化前后的图像灰度分布I=imread('peppers.bmp') %读入原图像到I 变量J=histeq(I); %对图像I 直方图均衡化subplot(2,2,1),imshow(I); %显示原图像subplot(2,2,2),imshow(J); %显示处理后的图像subplot(2,2,3),imhist(I,64);%显示原图像的直方图灰度分布(二)图像平滑1.空间域(1)邻域平均法采用不同模板%5*5邻域平均图像平滑I=imread('elain.bmp'); %读原始图像J=imnoise(I,'salt & pepper',0.02);%加入均值为0,方差为0.02的噪声J1=filter2(fspecial('average',3),I)/255;%用3*3模板均值滤波J2=filter2(fspecial('average',5),I)/255;%用5*5模板均值滤波J3=filter2(fspecial('average',7),I)/255;%用7*7模板均值滤波imshow(I); %显示原图像figure,imshow(J);%显示加入噪声的图像figure,imshow(J1);%显示用3*3模板均值滤波后图像figure,imshow(J2);%显示用5*5模板均值滤波后图像figure,imshow(J3);%显示用7*7模板均值滤波后图像0100200001002000(2)在不同噪声下用中值滤波法%中值滤波处理I=imread('elain.bmp'); %读原始图像%加均值为0,方差为0.02的椒盐噪声J1=imnoise(I,'salt & pepper',0.02);%加均值为0,方差为0.02的高斯噪声J2=imnoise(I,'gaussian',0.02);%显示有椒盐噪声图像subplot(2,2,1),imshow(J1);;%显示有高斯噪声图像subplot(2,2,2),imshow(J2)%对有椒盐噪声图像进行5*5方形窗口中值滤波I1=medfilt2(J1,[5 5]);%对有高斯噪声图像进行5*5方形窗口中值滤波I2=medfilt2(J2,[5 5]);%显示有椒盐噪声图像的滤波结果subplot(2,2,3),imshow(I1);%显示有高斯噪声图像的滤波结果subplot(2,2,4),imshow(I2);(3)均值滤波法与中值滤波法对比%分别用均值滤波和中值滤波对图像平滑I=imread('elain.bmp');I1=imnoise(I,'salt & pepper',0.06);%加入椒盐噪声I2=double(I1)/255;%邻域运算h1=[1/9 1/9 1/9;1/9 1/9 1/9;1/9 1/9 1/9];%进行二维卷积操作实现均值滤波J1=conv2(I2,h1,'same');%进行二维3*3中值滤波J2=medfilt2(I2,[3 3]);subplot(2,2,1),imshow(I);subplot(2,2,2),imshow(I1);subplot(2,2,3),imshow(J1);subplot(2,2,4),imshow(J2);2.频率域%各种频域低通滤波器的MATLAB实现clc;[I,map]=imread('elain.bmp');%从图形文件中读取图像noisy=imnoise(I,'gaussian',0.01);%对原图象添加高斯噪声imshow(noisy,map);%显示加入高斯噪声后的图像[M,N]=size(I);F=fft2(noisy);%进行二维快速傅里叶变换fftshift(F);%把快速傅里叶变换的DC组件移到光谱中心Dcut=100;D0=150;D1=250;for u=1:Mfor v=1:ND(u,v)=sqrt(u^2+v^2);%巴特沃斯低通滤波器传递函数BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(D(u,v)/Dcut)^2);%指数型低通滤波器传递函数EXPOTH(u,v)=exp(log(1/sqrt(2))*(D(u,v)/Dcut)^2);if D(u,v)<D0 %梯度低通滤波器传递函数TRAPEH(u,v)=1;elseif D(u,v)<=D1TRAPEH(u,v)=(D(u,v)-D1)/(D0-D1);elseTRAPEH(u,v)=0;endendendBUTTERG=BUTTERH.*F;BUTTERfiltered=ifft2(BUTTERG);EXPOTG=EXPOTH.*F;EXPOTGfiltered=ifft2(EXPOTG);TRAPEG=TRAPEH.*F;TRAPEfiltered=ifft2(TRAPEG);subplot(2,2,1),imshow(noisy) %显示加入高斯噪声后的图像subplot(2,2,2),imshow(BUTTERfiltered,map)%显示巴特沃斯低通滤波后的图像subplot(2,2,3),imshow(EXPOTGfiltered,map)%显示指数型低通滤波后的图像subplot(2,2,4),imshow(TRAPEfiltered,map)%显示梯形低通滤波后的图像(三)图象锐化1.空间域(1)高通滤波法%MATLAB空域高通滤波法程序I=imread('elain.bmp');J=im2double(I); %转换图像矩阵为双精度subplot(2,2,1),imshow(J,[]) %显示原图像h1=[0 -1 0, -1 5 -1,0 -1 0];h2=[-1 -1 -1, -1 9 -1,-1 -1 -1];h3=[1 -2 1, -2 5 -2, 1 -2 1];A=conv2(J,h1,'same'); %进行二维卷积操作subplot(2,2,2),imshow(A,[])B=conv2(J,h2,'same');subplot(2,2,3),imshow(B,[])C=conv2(J,h3,'same');subplot(2,2,4),imshow(C,[])(2)梯度法图象锐化[I,map]=imread('Boat.bmp');%读入原图像Subplot(2,3,1),imshow(I,map);%显示原始图像I=double(I);[IX,IY]=gradient(I);GM=sqrt(IX.*IX+IY.*IY);%计算梯度的幅度OUT1=GM;%显示第1种梯度的图像锐化 Subplot(2,3,2),imshow(OUT1,map);OUT2=I; J=find(GM>=10);%阈值T=10 OUT2(J)=GM(J); %显示第2种梯度的图像锐化 Subplot(2,3,3),imshow(OUT2,map);OUT3=I; J=find(GM>=10); OUT3(J)=255; %显示第3种梯度的图像锐化Subplot(2,3,4),imshow(OUT3,map);OUT4=I;J=find(GM<=10);OUT4(J)=255;%显示第4种梯度的图像锐化Subplot(2,3,5),imshow(OUT4,map);OUT5=I;J=find(GM>=10);OUT5(J)=255;Q=find(GM<10);OUTS(Q)=0;%显示第5种梯度的图像锐化Subplot(2,3,6),imshow(OUT5,map);(3)用Sobel 算子对图像滤波%利用Sobel 算子对图像滤波I=imread('elain.bmp');%读入图像文件H=fspecial('sobel');%选择Sobel 算子subplot(1,2,1),imshow(I)%显示原图像J=filter2(H,I);%卷积运算subplot(1,2,2),imshow(J)%显示Sobel 算子对图像锐化的结果(4)利用拉普拉斯算子对模糊图像进行增强%用拉普拉斯算子对模糊图像进行增强I=imread('barbara.bmp');I=double(I);subplot(1,2,1),imshow(I,[])h=[0 1 0,1 -4 1,0 1 0]; %拉普拉斯算子J=conv2(I,h,'same'); %用拉普拉斯算子对图像进行二维卷积运算K=I-J; %增强的图像为原始图像减去拉普拉斯算子滤波的图像subplot(1,2,2),imshow(K,[])2.频率域图象锐化%频域高通滤波法对图像进行增强clc;[I,map]=imread('elain.bmp');noisy=imnoise(I,'gaussian',0.01);[M N]=size(I);F=fft2(noisy);fftshift(F);Dcut=100;D0=250;D1=150;for u=1:Mfor v=1:ND(u,v)=sqrt(u^2+v^2);BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(Dcut/D(u,v))^2); %巴特沃斯低通滤波器传递函数EXPOTH(u,v)=exp(log(1/sqrt(2))*(Dcut/D(u,v))^2); %指数型低通滤波器传递函数if D(u,v)<D1 %梯度低通滤波器传递函数THPFH(u,v)=0;elseif D(u,v)<=D0THPFH(u,v)=(D(u,v)-D1)/(D0-D1);elseTHPFH(u,v)=1;endendendBUTTERG=BUTTERH.*F;BUTTERfiltered=ifft2(BUTTERG);EXPOTG=EXPOTH.*F;EXPOTGfiltered=ifft2(EXPOTG);THPFG=THPFH.*F;THPFfiltered=ifft2(THPFG);subplot(2,2,1),imshow(noisy)subplot(2,2,2),imshow(BUTTERfiltered) subplot(2,2,3),imshow(EXPOTGfiltered) subplot(2,2,4),imshow(THPFfiltered);四思考题1.均值滤波和中值滤波有那些优缺点?2.窗口尺寸对平滑滤波结果有什么影响?3.常用的锐化滤波算子都有哪些?。

matlab数字图像处理—图像增强汇总

matlab数字图像处理—图像增强汇总

图像增强图像增强的定义图像增强是指按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法,也是提高图像质量的过程[9]。

图像增强的目的是使图像的某些特性方面更加鲜明、突出,使处理后的图像更适合人眼视觉特性或机器分析,以便于实现对图像的更高级的处理和分析。

图像增强的过程往往也是一个矛盾的过程:图像增强希望既去除噪声又增强边缘。

但是,增强边缘的同时会同时增强噪声,而滤去噪声又会使边缘在一定程度上模糊,因此,在图像增强的时候,往往是将这两部分进行折中,找到一个好的代价函数达到需要的增强目的[10]。

传统的图像增强算法在确定转换函数时常是基于整个图像的统计量,如:ST 转换,直方图均衡,中值滤波,微分锐化,高通滤波等等。

这样对应于某些局部区域的细节在计算整幅图的变换时其影响因为其值较小而常常被忽略掉,从而局部区域的增强效果常常不够理想,噪声滤波和边缘增强这两者的矛盾较难得到解决。

常用的图像增强方法图像增强可分成两大类:空间域法和频率域法。

基于空间域的算法处理时直接对图像灰度级做运算;基于频率域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法。

基于空间域的算法分为点运算算法和邻域去噪算法。

点运算算法即灰度级校正、灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。

邻域增强算法分为图像平滑和锐化两种。

平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。

常用算法有均值滤波、中值滤波。

锐化的目的在于突出物体的边缘轮廓,便于目标识别。

常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。

基于频率域的算法把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。

采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。

图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。

Matlab技术图像增强方法

Matlab技术图像增强方法

Matlab技术图像增强方法图像增强是数字图像处理的一个重要任务,通过改善图像的质量和视觉效果来提高图像的可读性和理解性。

在现实生活中,我们常常会遇到一些图像质量较差、光照不均匀或者图像噪声较多的情况,这时候就需要借助一些图像增强方法来改善图像。

Matlab作为一款强大的数学软件,提供了丰富的图像处理工具箱,其中包含了多种图像增强方法。

本文将介绍几种常用的Matlab图像增强方法,并对其原理和应用进行探讨。

一、直方图均衡化直方图均衡化是一种常用的图像增强方法,通过重新分配图像的灰度级来拉伸图像的灰度范围,以增强图像的对比度和细节。

在Matlab中,我们可以使用以下代码实现图像的直方图均衡化:```matlabimg = imread('image.jpg');img_eq = histeq(img);imshowpair(img, img_eq, 'montage');```直方图均衡化的原理是将图像的累积分布函数进行线性映射,使得图像的灰度级均匀分布,从而增强对比度。

然而,直方图均衡化有时候会导致图像过亮或者过暗,因为它只考虑了灰度分布,并未考虑图像的空间信息。

二、自适应直方图均衡化为了克服直方图均衡化的不足,自适应直方图均衡化应运而生。

自适应直方图均衡化是一种局部增强方法,它将图像划分为若干小区域,并对每个区域进行直方图均衡化,以保留图像的局部对比度。

Matlab中的自适应直方图均衡化函数为`adapthisteq`,使用方法如下:```matlabimg = imread('image.jpg');img_adapteq = adapthisteq(img);imshowpair(img, img_adapteq, 'montage');```自适应直方图均衡化在增强图像对比度的同时,能够保留图像的细节,并且不会引入过多的噪声。

Matlab中的图像增强算法研究

Matlab中的图像增强算法研究

Matlab中的图像增强算法研究在数字图像处理领域,图像增强算法是一项重要的研究内容,可以提高图像的质量和清晰度。

Matlab作为一种常用的科学计算软件,提供了丰富的图像处理工具箱,包括多种图像增强算法。

本文将对Matlab中的一些图像增强算法进行研究和探讨。

一、直方图均衡化算法直方图均衡化是一种常用的图像增强算法,它通过调整图像像素的亮度分布,增强图像的对比度和细节。

在Matlab中,直方图均衡化算法可以通过histeq函数实现。

具体实现过程如下:1. 读取图像并转化为灰度图像。

2. 计算灰度图像的直方图。

3. 计算直方图的累积分布函数。

4. 根据累积分布函数对图像进行像素值映射。

5. 输出增强后的图像。

直方图均衡化算法能够有效增强图像的对比度和细节,但对于存在局部对比度不均匀的图像,效果可能不理想。

因此,需要对不同类型的图像选择合适的增强算法。

二、小波变换与图像增强小波变换是一种将信号分解为不同尺度的频率子带的方法,其在图像处理中的应用也十分广泛。

在Matlab中,可以使用wavedec2函数对图像进行小波分解,再利用小波反变换将分解后的图像进行增强。

小波变换的优点是可以同时捕捉图像的局部和全局细节信息,从而实现对图像的全方位增强。

但是,小波变换的计算复杂度较高,对于大尺寸的图像处理可能存在较长的计算时间。

三、空域滤波增强空域滤波增强是一种基于图像像素的局部空间信息进行增强的方法。

Matlab中常用的空域滤波增强算法包括均值滤波、中值滤波、高斯滤波等。

1. 均值滤波是一种简单且容易实现的滤波算法,它通过计算图像像素周围窗口的平均值来减小噪声的影响。

在Matlab中,可以使用fspecial函数生成均值滤波模板,再利用imfilter函数对图像进行滤波操作。

2. 中值滤波是一种基于排序统计的滤波方法,它通过计算图像像素周围窗口的中值来抑制噪声。

在Matlab中,可以使用medfilt2函数对图像进行中值滤波。

数字图像处理中图像增强的四种matlab编程方法

数字图像处理中图像增强的四种matlab编程方法

数字图像处理中图像增强的四种matlab编程方法图像增强处理log图像增强程序:clear allclose alliptsetpref('ImshowBorder', 'tight')im1 = imread('f:\照片\57.jpg')%im5 =rgb2gray(im1)figureimshow(im1)im2=log(1+double(im1))*0.2%im3=imadjust(im2,[0.5 1],[0.1 0.5],0.6) figure imshow(im2)原图像Log 系数0.2时系数0.3系数为0.1时由图片看出当C在0.2附近时,图像效果有了明显的改善,当大于0.3时,图像白色加重,而当其小于0.1时,图像黑色加重.指数图像增强:程序clear allclose alliptsetpref('ImshowBorder', 'tight')im1 = imread('f:\照片\57.jpg')%im5 =rgb2gray(im1)figureimshow(im1)im3=log(double(im1))im2=exp(double(im3))*0.01figureimshow(im2)原图像系数为0.001时系数为0.02系数为0.01系数为0.06由图片看出当C在0.02附近时,图像效果有了明显的改善,当大于0.06时,图像白色加重,而当其小于0.01时,图像黑色加重.绝对值图像增强程序:clear allclose alliptsetpref('ImshowBorder', 'tight')im1 = imread('f:\照片\57.jpg')%im5 =rgb2gray(im1)figureimshow(im1)im2=abs(double(im1))*0.01 其中调整系数为cfigureimshow(im2)原图像系数为0.015时系数为0.03时系数为0.005时由图片看出当C在0.015附近时,图像效果有了明显的改善,当大于0.003时,图像白色加重,而当其小于0.005时,图像黑色加重开方图像增强程序:clear allclose alliptsetpref('ImshowBorder', 'tight')im1 = imread('f:\照片\57.jpg')%im5 =rgb2gray(im1)figureimshow(im1)im2=sqrt(double(im1))*0.08%im3=imadjust(im2,[0.5 1],[0.1 0.5],0.6) figure imshow(im2)原图像系数为0.03时系数为0.05时系数为0.005时由图片看出当C在0.03附近时,图像效果有了明显的改善,当大于0.05时,图像白色加重,而当其小于0.005时,图像黑色加重。

图像变换与增强matlab程序

图像变换与增强matlab程序

试验一 MATLAB图像增强与变换处理实验试验一 MATLAB图像增强与变换处理实验一、实验目的1、熟悉掌握数字图像处理的基本概念。

2、了解MATLAB的的编程环境,图像处理工具箱的使用方法。

3、掌握数字图像处理图像增强的基本方法。

4、掌握图像变换的基本方法。

5、学会使用MATLAB完成图像处理的主要功能。

二、实验任务(1)各种格式的数字图像的读取、显示、存储。

(2)图像的空域增强方法。

(3)图像的频率域增强方法。

(4)图像的锐化增强方法。

(5)图像的快速傅里叶变换与反变换。

三、实验配套的主要仪器设备及台(套)数教师示范用投影仪一台微型计算机每个学生一台四、报告要求完成实验任务的每一步,并记录每一步的实验结果。

图1 原始图像图 2 转化为灰度图像的图像(1)各种格式的数字图像的读取、显示、存储将该图像放入MATLAB的work文件夹中。

在.m文件中输入以下代码:clear all;close all;f=imread('1.jpg'); %读入原图像文件f1=rgb2gray(f); %将彩色图片转换为灰度图imshow(f1);imwrite(f1,'gai0.jpg');imwrite(f1,'gai1.png');imwrite(f1,'gai2.bmp');imwrite(f1,'gai3.tiff');(2)则把彩色图片转化为灰度图,,显示图像为图2。

同时我们可以在工作区中输入imfinfo gai0.jpg;,我们可以得到我们保存后图片的相关信息,其输入结果如下:Filename: 'gai1.png'FileModDate: '01-May-2012 20:14:13'FileSize: 414165Format: 'png'FormatVersion: []Width: 1024Height: 768BitDepth: 8ColorType: 'grayscale'FormatSignature: [137 80 78 71 13 10 26 10]Colormap: []Histogram: []InterlaceType: 'none'Transparency: 'none'SimpleTransparencyData: []BackgroundColor: []RenderingIntent: []Chromaticities: []Gamma: []XResolution: []YResolution: []ResolutionUnit: []XOffset: []OffsetUnit: []SignificantBits: []ImageModTime: '1 May 2012 12:14:13 +0000'Title: []Author: []Description: []Copyright: []CreationTime: []Software: []Disclaimer: []Warning: []Source: []Comment: []OtherText: []同理我们可以得到其他三种格式的图像的相关信息。

数字图像实验报告图像增强实验

数字图像实验报告图像增强实验

数字图像实验报告图像增强实验一、实验目的熟悉并掌握MATLAB图像处理工具箱的使用;理解并掌握常用的图像的空域增强技术。

二、实验内容对一幅图像分别添加高斯、椒盐和斑点噪声,并分别进行均值和中值滤波处理,显示处理前后的图像。

三、实验方法及程序学生自行编程实现提示:1.加入高斯噪声的函数调用。

I_noise =imnoise(I,’gaussian’,0,0.1)2.加入椒盐噪声的函数调用。

I_noise = imnoise(I,’salt&pepper’,0.06)3.加入斑点噪声的函数调用。

I_noise= imnoise(I,’speckle’,0.1)4.均值滤波的函数调用。

I_smooth=imfilter(I_noise,fspecial(‘average’,5))5.中值滤波的函数调用。

I_smooth=medfilt2(I_noise,[3 3])A=imread('toyobjects.png');B=imnoise(A,'gaussian',0,0.1);%加入高斯噪声C=imnoise(A,'salt & pepper',0.05);%加入椒盐噪声D=imnoise(A,'speckle',0.05);%加入斑点噪声I1=imfilter(B,fspecial('average',5));I2= medfilt2(B);%高斯中值处理K1=imfilter(C,fspecial('average',5));K2= medfilt2(C);%椒盐中值处理G1=imfilter(D,fspecial('average',5));G2= medfilt2(D);%斑点噪声中值处理figure(1);imshow(A);title('原图像');figure(2);subplot(1,3,1);imshow(B);title('高斯噪声'); subplot(1,3,2);imshow(I1);title('高斯均值滤波处理'); subplot(1,3,3);imshow(I2);title('高斯中值滤波处理'); figure(3);subplot(1,3,1);imshow(C);title('椒盐噪声'); subplot(1,3,2);imshow(K1);title('椒盐均值处理'); subplot(1,3,3);imshow(K2);title('椒盐中值处理'); figure(4);subplot(1,3,1);imshow(D);title('斑点噪声'); subplot(1,3,2);imshow(G1);title('斑点噪声均值处理'); subplot(1,3,3);imshow(G2);title('斑点噪声中值处理');四、实验结果与分析分别运用B=imnoise(A,'gaussian',0,0.1)C=imnoise(A,'salt & pepper',0.05)D=imnoise(A,'speckle',0.05);三个函数啊加入不同的噪声,再用I_smooth=imfilter(I_noise,fspecial(‘average’,5))I_smooth=medfilt2(I_noise,[3 3])对加入噪声的图像进行处理,比较不同的处理方式对加入噪声后的图像处理后的清晰度。

MATLAB图像处理工具箱的高级图像增强算法详解

MATLAB图像处理工具箱的高级图像增强算法详解

MATLAB图像处理工具箱的高级图像增强算法详解图像处理是数字图像处理领域中的重要分支,其中MATLAB图像处理工具箱是应用最广泛的工具之一。

该工具箱提供了许多高级图像增强算法,能够有效地优化图像质量,提高图像细节和对比度,从而使图像更加清晰和易于分析。

本文将详细解释几种主要的高级图像增强算法,并介绍它们的工作原理和应用场景。

1. 直方图均衡化算法直方图均衡化是一种常用的图像增强算法,用于提高图像的对比度。

该算法基于直方图分布的均匀性假设,通过拉伸直方图来实现像素值的均匀分布。

具体而言,它通过计算图像的累积分布函数来调整像素值。

直方图均衡化可广泛应用于医学影像分析、电视图像处理等领域,以改善图像细节和图像信息的可视化效果。

2. 自适应直方图均衡化算法自适应直方图均衡化算法是对传统直方图均衡化算法的改进。

传统算法基于图像全局直方图进行像素值的调整,这可能导致一些局部细节丢失。

为了克服这个问题,自适应直方图均衡化算法引入了局部直方图均衡化的概念。

它将图像划分为许多局部区域,并在每个区域内应用直方图均衡化算法。

这样能够更好地保留图像的局部细节和对比度信息。

3. 双边滤波算法双边滤波算法是一种常用的图像增强算法,用于减少图像的噪声。

与其他线性滤波算法不同,双边滤波器在计算滤波器系数时考虑了像素的空间距离和灰度差异。

这使得它能够保持图像的边缘信息,同时去除噪声。

双边滤波算法常用于图像去噪、图像增强等领域,以提高图像质量和视觉效果。

4. 维纳滤波算法维纳滤波算法是一种用于图像去噪的经典算法。

它基于图像信号和噪声的统计特性,采用滤波器来减少噪声的影响。

维纳滤波算法通过最小化均方误差来实现最佳平衡,既能抑制噪声,又能保留图像的细节。

该算法常用于医学图像处理、远程遥感图像处理等领域,在提高图像质量和减少噪声方面发挥重要作用。

5. 彩色图像增强算法彩色图像增强是图像处理的重要方向之一。

彩色图像增强算法包括色彩均衡、色度调整和对比度增强等技术。

在Matlab中进行超分辨率图像重建和增强

在Matlab中进行超分辨率图像重建和增强

在Matlab中进行超分辨率图像重建和增强导语随着图像处理技术的快速发展,超分辨率图像重建和增强成为了一个备受关注的研究领域。

相比于传统图像处理方法,利用Matlab进行超分辨率图像重建和增强可以获得更高质量的图像。

本文将介绍超分辨率图像重建和增强的原理及其在Matlab中的实现方法。

一、超分辨率图像重建概述在数码相机、监控摄像头和医学成像等领域,我们经常会遇到分辨率相较较低的图像。

超分辨率图像重建旨在通过利用图像内容的统计特征和先验知识,从低分辨率输入图像中重建出高分辨率的图像。

其核心思想是通过插值和图像信号处理技术,拟合出缺失的高频细节,从而实现图像的分辨率提升。

二、超分辨率图像重建的原理超分辨率图像重建的主要原理包括插值方法、高频细节提取和去模糊处理。

在Matlab中,可以利用插值算法(如双线性插值、双三次插值等)将低分辨率图像放大到目标分辨率。

然后,使用图像边缘检测、稀疏表示等方法提取高频细节信息,并将其融合到放大后的图像中。

最后,通过去模糊处理方法(如盲去卷积、模型训练等)去除图像中的模糊和噪声。

这些步骤的组合可以帮助我们实现超分辨率图像重建。

三、超分辨率图像重建的实现方法在Matlab中,实现超分辨率图像重建的方法多种多样。

下面介绍几种常用的方法:1. 基于插值的方法最简单的超分辨率图像重建方法之一是利用插值算法。

在Matlab中,可以使用imresize()函数进行插值操作。

该函数可以根据指定的缩放因子将低分辨率图像放大到目标分辨率。

但是,仅使用插值方法会导致图像细节的模糊和失真,因此需要结合其他技术进行细节增强。

2. 基于稀疏表示的方法稀疏表示是一种常用于超分辨率图像重建的技术。

该方法通过将图像分解为低频分量和高频细节,利用稀疏表示的能力来恢复缺失的高频细节。

在Matlab中,可以使用稀疏表示算法(如KSVD算法、BP算法等)实现超分辨率图像重建。

这些算法通过解决最优化问题,找到最佳的稀疏表示系数,从而恢复出高分辨率图像。

在Matlab中实现图像增强和滤波的方法

在Matlab中实现图像增强和滤波的方法

在Matlab中实现图像增强和滤波的方法图像是我们日常生活中不可或缺的一部分。

从社交媒体上的自拍到科学研究中的显微镜图像,我们经常需要对图像进行增强和修复。

Matlab是一个功能强大的工具,提供了丰富的图像处理和分析功能,包括图像增强和滤波。

本文将探讨在Matlab中实现图像增强和滤波的方法。

一、图像增强图像增强是通过增强图像的对比度、清晰度和细节来改进图像质量的过程。

在Matlab中,有几种常用的图像增强方法,包括直方图均衡化、对比度拉伸和维纳滤波。

1. 直方图均衡化直方图均衡化是通过重新分布图像的像素值,使得图像的灰度级在整个范围内得到充分利用的一种方法。

在Matlab中,可以使用`histeq`函数来实现直方图均衡化。

下面是一个简单的示例代码:```matlabimg = imread('image.jpg');img_eq = histeq(img);imshowpair(img, img_eq, 'montage');```2. 对比度拉伸对比度拉伸是通过调整图像的像素值范围来增强图像对比度的方法。

在Matlab 中,可以使用`imadjust`函数来实现对比度拉伸。

下面是一个简单的示例代码:```matlabimg_adj = imadjust(img, [0.2, 0.8], [0, 1]);imshowpair(img, img_adj, 'montage');```3. 维纳滤波维纳滤波是一种经典的图像去噪和增强方法,可以减少图像中的噪声并增强图像的细节。

在Matlab中,可以使用`wiener2`函数来实现维纳滤波。

下面是一个简单的示例代码:```matlabimg = imread('image.jpg');img_wiener = wiener2(img, [5, 5]);imshowpair(img, img_wiener, 'montage');```二、图像滤波图像滤波是通过对图像进行空间域或频率域滤波的过程,可以用来平滑图像、去除噪声或者增强图像细节。

在Matlab中进行图像增强的常用方法和技巧

在Matlab中进行图像增强的常用方法和技巧

在Matlab中进行图像增强的常用方法和技巧引言:图像增强是图像处理中的一项重要工作,它可以使图像更加清晰、亮度更加均匀,从而更好地展示图像的细节和特征。

而Matlab作为一款功能强大的数学计算软件,提供了许多图像处理的函数和工具箱,可以帮助用户实现图像增强。

本文将介绍一些在Matlab中常用的图像增强方法和技巧。

一、直方图均衡化直方图均衡化是一种常用的图像增强方法,它可以通过调整图像的像素亮度分布,使得图像的对比度更加明显。

在Matlab中,可以使用histeq函数来实现直方图均衡化。

以下是一个示例:```image = imread('image.jpg');enhanced_image = histeq(image);```通过对图像的直方图进行统计分析,histeq函数可以将图像的像素值重新映射到一个更广的像素值范围内,从而增强图像的对比度。

二、图像滤波图像滤波是另一种常用的图像增强方法,它可以通过去除图像中的噪声和干扰,使得图像更加清晰和平滑。

在Matlab中,可以使用imfilter函数来实现各种滤波操作。

以下是一些常用的图像滤波方法:1. 均值滤波:使用imfilter函数的fspecial参数可以创建一个均值滤波器,然后通过imfilter函数的'conv'选项来对图像进行滤波。

```image = imread('image.jpg');filter = fspecial('average', [3, 3]);filtered_image = imfilter(image, filter, 'conv');```2. 中值滤波:使用medfilt2函数可以对图像进行中值滤波,该函数对图像中的每个像素取相邻像素的中值作为滤波结果。

```image = imread('image.jpg');filtered_image = medfilt2(image);```3. 高斯滤波:使用imfilter函数的fspecial参数可以创建一个高斯滤波器,然后通过imfilter函数的'conv'选项来对图像进行滤波。

matlab-光电图像处理实验(图像增强)

matlab-光电图像处理实验(图像增强)

光学图像处理实验报告学生姓名:班级:学号:指导教师:日期:一、实验室名称:二、实验项目名称:图像增强三、实验原理:图像增强处理是数字图像处理的一个重要分支。

很多由于场景条件的影响图像拍摄的视觉效果不佳,这就需要图像增强技术来改善人的视觉效果,增强图象中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。

比如突出图像中目标物体的某些特点、从数字图像中提取目标物的特征参数等等,这些都有利于对图像中目标的识别、跟踪和理解。

图像增强处理主要内容是突出图像中感兴趣的部分,减弱或去除不需要的信息。

这样使有用信息得到加强,从而得到一种更加实用的图像或者转换成一种更适合人或机器进行分析处理的图像。

图像增强的应用领域也十分广阔并涉及各种类型的图像。

例如,在军事应用中,增强红外图像提取我方感兴趣的敌军目标;在医学应用中,增强X射线所拍摄的患者脑部、胸部图像确定病症的准确位置;在空间应用中,对用太空照相机传来的月球图片进行增强处理改善图像的质量;在农业应用中,增强遥感图像了解农作物的分布;在交通应用中,对大雾天气图像进行增强,加强车牌、路标等重要信息进行识别;在数码相机中,增强彩色图像可以减少光线不均、颜色失真等造成的图像退化现象。

图像增强可分成两大类:频率域法和空间域法。

前者把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。

采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。

具有代表性的空间域算法有局部求平均值法和中值滤波(取局部邻域中的中间像素值)法等,它们可用于去除或减弱噪声。

图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。

使用Matlab进行数字图像处理和图像增强

使用Matlab进行数字图像处理和图像增强

使用Matlab进行数字图像处理和图像增强数字图像处理是一门研究如何对数字图像进行处理和改变的学科,其应用广泛,包括医学图像处理、计算机视觉、遥感图像分析等。

而Matlab作为一种强大的数学计算软件,提供了丰富的数字图像处理工具箱,可以辅助我们进行各种图像处理和增强的操作。

在数字图像处理中,我们常常需要对图像进行滤波操作。

滤波可以用于去除图像中的噪声、增强图像的细节等。

Matlab提供了各种滤波器函数,如高斯滤波器、中值滤波器等。

其中,高斯滤波器是最常用的一种滤波器,可以通过控制滤波器的尺寸和方差来实现不同程度的平滑效果。

除了滤波操作,Matlab还提供了许多用于图像增强的函数。

图像增强是指通过一系列操作,使得图像更加清晰、鲜艳和易于分析。

其中最常用的图像增强方法包括直方图均衡化、对比度拉伸和锐化等。

直方图均衡化可以通过调整图像的灰度分布来增强图像的对比度和细节。

对比度拉伸可以通过线性拉伸或非线性拉伸来增强图像的对比度。

而锐化可以通过增强图像的高频部分来使得图像更加清晰。

在Matlab中,进行图像处理和增强的流程是相对简单的。

首先,我们需要读取图像并将其转化为灰度图像。

然后,我们可以使用各种滤波器来平滑图像或者去除噪声。

接下来,可以进行图像增强的操作,如直方图均衡化和对比度拉伸。

最后,我们可以将处理后的图像保存或者显示出来。

除了提供了丰富的函数和工具箱外,Matlab还有一个强大的交互式编辑环境,可以让我们更加方便地进行图像处理和增强的实验和调试。

在Matlab的命令窗口中,我们可以直接输入命令进行图像处理操作,也可以使用图形用户界面(GUI)进行交互操作。

这种交互式的编辑环境使得我们能够更加直观地理解和掌握数字图像处理的概念和方法。

总结起来,Matlab是一种强大的数学计算软件,提供了丰富的数字图像处理和增强工具。

通过使用Matlab,我们可以进行各种图像处理和增强的操作,如滤波、直方图均衡化和对比度拉伸等。

Matlab中的图像增强技术介绍

Matlab中的图像增强技术介绍

Matlab中的图像增强技术介绍图像增强是数字图像处理中的一项重要技术,它可以改善图像的质量并突出图像中的细节。

在Matlab中,有多种图像增强方法可供选择,下面将介绍一些常见的技术。

一、直方图均衡化直方图均衡化是一种用于增强图像对比度的方法。

它通过自动调整图像的亮度分布,使得图像的亮度范围更加均匀。

在Matlab中,我们可以使用imhist函数获取图像的直方图,并利用histeq函数进行均衡化。

例如,下面的代码将对一幅灰度图像进行直方图均衡化:```matlabimg = imread('image.jpg');img_eq = histeq(img);```二、锐化锐化是一种增强图像细节的方法,它可以使图像中的边缘更加清晰。

在Matlab 中,我们可以使用imsharpen函数对图像进行锐化处理。

该函数使用了非线性的锐化算法,可以提高图像的边缘对比度。

例如,下面的代码将对一幅灰度图像进行锐化:```matlabimg = imread('image.jpg');img_sharpened = imsharpen(img);```三、滤波滤波是一种能够去除图像中噪声的方法,它可以平滑图像并减少噪点的影响。

在Matlab中,我们可以使用各种滤波器函数对图像进行滤波处理。

例如,下面的代码将对一幅灰度图像进行中值滤波:```matlabimg = imread('image.jpg');img_filtered = medfilt2(img);```除了中值滤波外,Matlab还提供了均值滤波、高斯滤波等多种滤波器函数。

四、图像增强算法除了上述方法外,还有一些更复杂的图像增强算法可供选择。

例如,基于小波变换的图像增强算法可以提高图像的细节和对比度。

在Matlab中,我们可以使用wavedec2函数对图像进行小波变换,并进一步利用小波系数对图像进行增强处理。

基于MATLAB的图像增强处理

基于MATLAB的图像增强处理

基于MATLAB的图象增强处理图象增强是图象处理领域中的一个重要任务,它旨在改善图象的质量、增加图象的细节并提高图象的视觉效果。

MATLAB是一种功能强大的数学计算软件,也被广泛应用于图象处理领域。

本文将介绍基于MATLAB的图象增强处理的标准格式。

一、引言图象增强是一种通过对图象进行算法处理来改善图象质量的技术。

图象增强处理可以应用于各种领域,如医学图象处理、遥感图象处理、安全监控等。

在本文中,我们将介绍基于MATLAB的图象增强处理的标准格式。

二、背景图象增强处理是一种通过改变图象的像素值和对照度来改善图象质量的方法。

MATLAB是一种功能强大的数学计算软件,它提供了丰富的图象处理工具箱,可以方便地进行图象增强处理。

三、方法1. 图象预处理在进行图象增强处理之前,需要对图象进行预处理。

常见的图象预处理方法包括图象去噪、图象平滑和图象尺度变换等。

在MATLAB中,可以使用滤波器和变换函数来实现这些预处理步骤。

2. 直方图均衡化直方图均衡化是一种常用的图象增强方法,它通过重新分配图象像素的灰度级来增强图象的对照度。

在MATLAB中,可以使用histeq函数来实现直方图均衡化。

3. 均值滤波均值滤波是一种常用的图象平滑方法,它通过对图象进行平均处理来减少噪声。

在MATLAB中,可以使用fspecial函数来创建均值滤波器,并使用imfilter函数来应用滤波器。

4. 锐化滤波锐化滤波是一种常用的图象增强方法,它通过增强图象的边缘和细节来提高图象的清晰度。

在MATLAB中,可以使用拉普拉斯滤波器或者高斯滤波器来实现锐化滤波。

5. 对照度增强对照度增强是一种常用的图象增强方法,它通过增加图象的亮度范围来改善图象的视觉效果。

在MATLAB中,可以使用imadjust函数来实现对照度增强。

四、实验结果为了验证基于MATLAB的图象增强处理方法的有效性,我们选择了一组测试图象进行实验。

实验结果显示,经过图象增强处理后,图象的质量得到了明显的改善,图象的细节和对照度得到了增强。

MATLAB常用图像增强方法(精)

MATLAB常用图像增强方法(精)

M A T L A B常用图像增强方法(精)-CAL-FENGHAI.-(YICAI)-Company One1数字图像处理实验报告实验名称:常用图像增强方法专业班级: 07级电子信息工程2班姓名:王超学号:一、实验目的1、熟悉并掌握MATLAB图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。

二、实验步骤1、显示图像直方图选择一幅图像,转化为灰度图像后显示其直方图,建立M文件程序如下:a=imread('f:\';b=rgb2gray(a;subplot(1,2,1;imshow(b;subplot(1,2,2;imhist(b结果如图:2、直方图均衡化建立M文件,程序如下:a=imread('f:\';b=rgb2gray(a;subplot(1,3,1;imshow(b; subplot(1,3,2;imhist(b;c=histeq(b,64;[c,T]=histeq(b;subplot(1,3,3;imhist(c结果如图:3、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7建立M文件程序如下:a=imread('f:\';x=rgb2gray(a;b=imnoise(x,'salt & pepper', ;subplot(2,2,1;imshow(b;c=medfilt2(b,[3 3];subplot(2,2,2;imshow(c;d=medfilt2(b,[5 5];subplot(2,2,3;imshow(d;e=medfilt2(b,[7 7];subplot(2,2,4;imshow(e结果如图:1图为加噪图像,2、3、4图分别为窗口采用3*3、5*5、7*7的滤波后的图像4、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波建立M文件程序如下:a=imread('f:\';b=rgb2gray(a;subplot(1,2,1;imshow(b;h=[1,2,1;0,0,0;-1,-2,-1];c=filter2(h,b;subplot(1,2,2;imshow(c结果如图:5、采用三种不同算子对图像进行锐化处理建立M文件如下:a=imread('f:\';b=rgb2gray(a;subplot(2,2,1;imshow(b;h=[1,2,1;0,0,0;-1,-2,-1]; %Sobel算子c=filter2(h,b;subplot(2,2,2;imshow(c ;d=double(b;h=[0,1,0;1,-4,0;0,1,0]; %拉氏算子e=conv2(d,h,'same';subplot(2,2,3;imshow(e ;h=[1,1,1;0,0,0;-1,-1,-1]; %Prewitt算子f=filter2(h,b;subplot(2,2,4;imshow(f结果如图:1图为原图的灰度图像;2图为经Sobel算子锐化处理后的图像;3图为经拉氏算子锐化处理后的图像;4图为经Prewitt算子锐化处理的图像三、实验总结1、不同平滑滤波器的处理效果,及其优缺点二维中值滤波器的窗口形式有多种,比如线状、方形等等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB图像增强程序举例1.灰度变换增强程序:% GRAY TRANSFORMclc;I=imread('pout.tif');imshow(I);J=imadjust(I,[0.3 0.7],[0 1],1); %transforms the walues in the %intensity image I to values in J by linealy mapping %values between 0.3 and 0.7 to values between 0 and 1. figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],0.5); % if GAMMA is less than 1,the mapping si weighted to ward higher (brighter)%output values.figure;imshow(J);J=imadjust(I,[0.3 0.7],[0 1],1.5); % if GAMMA is greater than 1,the mapping si weighted toward lower (darker)%output values.figure;imshow(J)J=imadjust(I,[0.3 0.7],[0 1],1); % If TOP<BOTTOM,the output image is reversed,as in a p hotographic negative.figure;imshow(J);2.直方图灰度变换%直方图灰度变换[X,map]=imread('forest.tif');I=ind2gray(X,map);%把索引图像转换为灰度图像imshow(I);title('原图像');improfile%用鼠标选择一条对角线,显示线段的灰度值figure;subplot(121)plot(0:0.01:1,sqrt(0:0.01:1))axis squaretitle('平方根灰度变换函数')subplot(122)maxnum=double(max(max(I)));%取得二维数组最大值J=sqrt(double(I)/maxnum);%把数据类型转换成double,然后进行平方根变换%sqrt函数不支持uint8类型J=uint8(J*maxnum);%把数据类型转换成uint8类型imshow(J)title('平方根变换后的图像')3.直方图均衡化程序举例% HISTGRAM EAQUALIZATIONclc;% Clear command windowI=imread('tire.tif');% reads the image in tire.tif into Iimshow(I);% displays the intensity image I with 256 gray levels figure;%creates a new figure windowimhist(I);% displays a histogram for the intensity image IJ=histeq(I,64);% transforms the intensity image I,returning J an intensity figure;%image with 64 discrete levelsimshow(J);figure;imhist(J);J=histeq(I,32);%transforms the intensity image ,returning in % J an intensity figure;%image with 32 discrete levelsimshow(J);figure;imhist(J);4.直方图规定化程序举例% HISTGRAM REGULIZATIONclc;%Clear command windowI=imread('tire.tif');%reads the image in tire.tif into IJ=histeq(I,32);%transforms the intensity image I,returning in%J an intensity image with 32 discrete levels[counts,x]=imhist(J);%displays a histogram for the intensity image IQ=imread('pout.tif');%reads the image in tire.tif into Ifigure;imshow(Q);figure;imhist(Q);M=histeq(Q,counts);%transforms the intensity image Q so that the%histogram of the output image M approximately matches counts figure;imshow(M);figure;imhist(M);空域滤波增强部分程序1.线性平滑滤波I=imread('eight.tif');J=imnoise(I,'salt & pepper',0.02);subplot(221),imshow(I)title('原图像')subplot(222),imshow(J)title('添加椒盐噪声图像')K1=filter2(fspecial('average',3),J)/255;%应用3*3邻域窗口法subplot(223),imshow(K1)title('3x3窗的邻域平均滤波图像')K2=filter2(fspecial('average',7),J)/255;%应用7*7邻域窗口法subplot(224),imshow(K2)title('7x7窗的邻域平均滤波图像')2.中值滤波器MATLAB中的二维中值滤波函数medfit2来进行图像中椒盐躁声的去除%IMAGE NOISE REDUCTION WITH MEDIAN FILTERclc;hood=3;%滤波窗口[I,map]=imread('eight.tif');imshow(I,map);noisy=imnoise(I,'salt & pepper',0.05);figure;imshow(noisy,map);filtered1=medfilt2(noisy,[hood hood]);figure;imshow(filtered1,map);hood=5;filtered2=medfilt2(noisy,[hood hood]);figure;imshow(filtered2,map);hood=7;filtered3=medfilt2(noisy,[hood hood]);figure;imshow(filtered3,map);3. 4邻域8邻域平均滤波算法% IMAGE NOISE REDUCTION WITH MEAN ALGORITHM clc;[I,map]=imread('eight.tif');noisy=imnoise(I,'salt & pepper',0.05);myfilt1=[0 1 0;1 1 1;0 1 0];%4邻域平均滤波模版myfilt1=myfilt1/9;%对模版归一化filtered1=filter2(myfilt1,noisy);imshow(filtered1,map);myfilt2=[1 1 1;1 1 1;1 1 1];myfilt2=myfilt2/9;filtered2=filter2(myfilt2,noisy);figure;imshow(filtered2,map);频域增强程序举例1.低通滤波器% LOWPASS FILTERclc;[I,map]=imread('eight.tif');noisy=imnoise(I,'gaussian',0.05);imshow(noisy,map);myfilt1=[1 1 1;1 1 1;1 1 1];myfilt1=myfilt1/9;filtered1=filter2(myfilt1,noisy);figure;imshow(filtered1,map);myfilt2=[1 1 1;1 2 1;1 1 1];myfilt2=myfilt2/10;filtered2=filter2(myfilt2,noisy); figure;imshow(filtered2,map);myfilt3=[1 2 1;2 4 2; 1 2 1]; myfilt3=filter2(myfilt3,noisy); figure;imshow(filtered3,map);2.布特沃斯低通滤波器图像实例I=imread('saturn.png');J=imnoise(I,'salt & pepper',0.02); subplot(121),imshow(J)title('含噪声的原图像')J=double(J);f=fft2(J);g=fftshift(f);[M,N]=size(f);n=3;d0=20;n1=floor(M/2);n2=floor(N/2);for i=1:M;for j=1:N;d=sqrt((i-n1)^2+(j-n2)^2);h=1/(1+0.414*(d/d0)^(2*n));g(i,j)=h*g(i,j);endendg=ifftshift(g);g=uint8(real(ifft2(g)));subplot(122),imshow(g)title('三阶Butterworth滤波图像')色彩增强程序举例1.真彩色增强实例:%真彩色图像的分解clc;RGB=imread('peppers.png');subplot(221),imshow(RGB)title('原始真彩色图像')subplot(222),imshow(RGB(:,:,1))title('真彩色图像的红色分量')subplot(223),imshow(RGB(:,:,2))title('真彩色图像的绿色分量')subplot(224),imshow(RGB(:,:,3))2.伪彩色增强举例:I=imread('cameraman.tif');imshow(I);X=grayslice(I,16);%thresholds the intensity image I using%threshold values 1/16,2/16,…..,15/16,returning an indexed %image in X figure;imshow(X,hot(16));3.假彩色增强处理程序举例[RGB]=imread('ghost.bmp');imshow(RGB);RGBnew(:,:,1)=RGB(:,:,3);RGBnew(:,:,2)=RGB(:,:,1);RGBnew(:,:,3)=RGB(:,:,2);figure;subplot(121);imshow(RGB);subplot(122);imshow(RGBnew);主要转载自:/s/blog_488c87020100cice.htm l。

相关文档
最新文档