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

合集下载

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图像增强_课件

直接灰度变换
3. 对数变换
要消除这种因动态范围太大而引起的失真,一种 有效的方法是对原图像的动态范围进行压缩,最常用 的是借助对数形式对动态范围进行调整,其数学表达 式如下:
t C log(1 | s |)
a
b
c
d
18
直接灰度变换
4、灰度切割 目的:增强特定范围的对比度,用来突出图像中特定 灰度范围的亮度。 一种方法:是对感兴趣的灰度级以较大的灰度值t2 显示而对另外的灰度级则以较小的灰度值t1来显示。 s1 s s 2 t 2 t 其它 t1 另一种方法:对感兴趣的灰度级以较大的灰度值 进行显示而其他的灰度级则保持不变。
第五章 图像增强
1
5.1


2
图像增强方法
以图 像 “得 增 好到 强 ”对 的 具 , 基于像素的点处理 目 更体 的 应 “ 是 空域方法 有用 对 来 用 基于模板的空域滤波 图 ”说 像 的视 进 图觉 行 频域方法:高通、低通、带通 效 像 带阻、同态滤波 果加 更工 ,
概述
例:
3
a)原图
结果
原始直方图
规定直方图
结果直方图
44
直方图规定化
效果
原始图像
规定直方图
规定化后的图像
规定化后直方图
45
46
直方图修正的特点

直方图均衡化的特点是计算相对简单,能自动 的增强整个图像的对比度,但具体的增强效果 不易控制,处理的结果也是得到全局均衡化的 直方图。
直方图规定化的特点:计算量大,有选择的增 强图像特定灰度范围,更灵活、更有针对性, 若能正确选择规定化的增强函数,就可以得到 比直方图均衡化更好的效果。

实验五图像增强

实验五图像增强

实验五图像增强实验五图像增强⼀、实验⽬的1.了解灰度变换增强和空域滤波增强的Matlab实现⽅法2.掌握直⽅图灰度变换⽅法3.掌握噪声模拟和图像滤波函数的使⽤⽅法4.了解图像复原的Matlab实现⽅法⼆、实验步骤1、打开MATLAB软件,设置⼯作路径,新建M⽂件。

2、将图⽚放到当前⼯作路径下3、写⼊图像增强(包括灰度变换增强、空域滤波增强)程序保存并调试运⾏。

程序具体要求:1)灰度变换增强A)线段上像素灰度分布B)直⽅图变换(直⽅图显⽰、直⽅图灰度调节、直⽅图均衡化)2)空域滤波增强A)噪声模拟B)空域滤波空域滤波对上述噪声图像进⾏均值滤波和中值滤波,⽐较滤波效果。

总结均值滤波和中值滤波的特点及使⽤场合。

*对图像'saturn.tif'采⽤'laplacian'⾼通滤波器进⾏锐化滤波。

4、保存实验结果并完善实验报告。

三、实验程序1.灰度变换增强A)线段上像素灰度分布读⼊灰度图像‘cameraman.tif’,采⽤交互式操作,⽤improfile绘制⼀条线段的灰度值。

imshow('cameraman.tif')improfile读⼊RGB图像‘trees.tif’,显⽰所选线段上红、绿、蓝颜⾊分量的分布imshow('trees.tif')i mprofileB)直⽅图变换直⽅图显⽰读⼊图像‘trees.tif’,在⼀个窗⼝中显⽰灰度级n=64,128和256的图像直⽅图。

I=imread('trees.tif');imshow(I)figure,imhist(I,64)figure,imhist(I,128)figure,imhist(I,256)直⽅图灰度调节利⽤函数imadjust调解图像灰度范围,观察变换后的图像及其直⽅图的变化。

I=imread('trees.tif');imshow(I)figure,imhist(I)J=imadjust(I,[0.15 0.9],[0 1]);figure,imhist(J)figure,imshow(J)I=imread('cameraman.tif');imshow(I)figure,imhist(I)J=imadjust(I,[0 0.2],[0.5 1]);figure,imhist(J)figure,imshow(J)直⽅图均衡化分别对图像‘pout.tif’和‘tire.tif’进⾏直⽅图均衡化处理,⽐较处理前后图像及直⽅图分布的变化。

MATLAB图像增强与变换处理实验报告

MATLAB图像增强与变换处理实验报告

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

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

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

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

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

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

1.1 程序a=imread('liusuo.tif');%tiffigureimshow(a)imwrite(a,'liusuostore.tif','compression','none','resolution',[200 200])a=imread('liuyifei.jpg');%jpgfigureimshow(a)imwrite(a,'liuyifeistore.jpg')a=imread('iloveyou.gif');%giffigureimshow(a)imwrite(a,'iloveyoustore.gif')a=imread('blue.png');%pngfigureimshow(a)imwrite(a,'bluestore.png')1.2效果(2)图像的空域增强方法。

2.1亮度变换2.1.1程序a = imread('liuyifei.jpg');%jpgimshow(a)g1 = imadjust(a,[0 0.5],[0 1]);figureimshow(g1)g2 = imadjust(a,[0.5 1],[0 1]);figureimshow(g2)2.1.2效果图2.2直方图均衡化2.2.1程序a = imread('menghui.jpg');%jpgb = rgb2gray(a);imshow(b)figureimhist(b)ylim('auto')g=histeq(b,256);figureimshow(g)figureimhist(g)ylim('auto')g2 = imadjust(b,[0.2 0.9],[0 1]);figureimhist(g2)figureimshow(g2)2.2.2效果2.3 直方图规定化2.3.1程序a = imread('yueqiu1.jpg');%jpgb = rgb2gray(a);imshow(b)figureimhist(b)p= modegauss(0.01, 0.1, 0.55, 0.06,0.8 ,0.04 ,1,0.1,0.1, 0.002); figureplot(p)g = histeq( b , p );figureimshow(g)figureimhist(g)2.3.2 效果2.4 线性空间滤波2.4.1 程序a = imread('heibai.jpg');%jpgb = rgb2gray(a);subplot(121)imshow(b)n = 7;w =1/n*ones(n);gd = imfilter( b ,w );subplot(122)imshow(gd, [])2.4.2 效果2.4.2.1均值滤波a = imread('meinv.jpg');%jpgb = rgb2gray(a);figureimshow(b)g=imnoise(b,'salt & pepper',0.01);figureimshow(g)gd3 = imfilter(g,fspecial('average',3) );figureimshow(gd3)gd5 = imfilter(g,fspecial('average',5) );figureimshow(gd5)gd7 = imfilter(g,fspecial('average',7) );figureimshow(gd7)gd9 = imfilter(g,fspecial('average',9) );figureimshow(gd9)2.4.2.2 效果2.4.3拉普拉斯增强2.4.3.1程序a = imread('yueqiu.jpg');%jpgb = rgb2gray(a); figure imshow(b) b2 = im2double(b);gb1 = imfilter(b2,fspecial('laplacian',0),'replicate' );figure imshow(gb1,[])gb2 = imfilter(b2,[1 1 1; 1 -8 1; 1 1 1],'replicate' ); figure imshow(gb2,[]) g1 = b2-gb1; figure imshow(g1) g2 = b2-gb2; figure imshow(g2)2.4.3.2 效果2.5非线性中值滤波2.5.1 程序a = imread('yangguang.jpg');%jpgb = rgb2gray(a);figureimshow(b)g=imnoise(b,'salt & pepper',0.01); figureimshow(g)gm = medfilt2(g);figureimshow(gm)(3)图像的频率域增强方法。

数字图像处理实验 matlab 图像增强 边缘检测 图像操作

数字图像处理实验 matlab 图像增强 边缘检测 图像操作

实验1 点运算和直方图处理一、实验目的1. 掌握利用Matlab图像工具箱显示直方图的方法2. 掌握运用点操作进行图像处理的基本原理。

3. 进一步理解利用点操作这一方法进行图像处理的特点。

4. 掌握利用Matlab图像工具箱进行直方图均衡化的基本方法。

二、实验的硬件、软件平台硬件:计算机软件:操作系统:WINDOWS 2000应用软件:MATLAB三、实验内容及步骤1. 了解Matlab图像工具箱的使用。

2. 利用Matlab图像工具箱对图像进行点操作,要求完成下列3个题目中的至少2个。

⑴图1灰度范围偏小,且灰度偏低,改正之。

⑵图2暗处细节分辨不清,使其能看清楚。

⑶图3亮处细节分辨不清,使其能看清楚。

图1 图2 图33. 给出处理前后图像的直方图。

4. 利用MatLab图像处理工具箱中函数对以上图像进行直方图均衡化操作,观察结果。

四、思考题1. 点操作能完成哪些图像增强功能?2. 直方图均衡化后直方图为何并不平坦?为何灰度级会减少?五、实验报告要求1.对点操作的原理进行说明。

2.给出程序清单和注释。

3.对处理过程和结果进行分析(包括对处理前后图像的直方图的分析)。

实验2 图像平滑实验一、实验目的1.通过实验掌握图像去噪的基本方法;2.学会根据情况选用不同方法。

二、实验的硬件、软件平台硬件:计算机软件:操作系统:WINDOWS 2000应用软件:MATLAB三、实验内容及要求1.实验内容请在如下面方法中选择多个,完成图像去噪操作,并进行分析、比较。

(1)对静态场景的多幅图片取平均;(2)空间域模板卷积(不同模板、不同尺寸);(3)频域低通滤波器(不同滤波器模型、不同截止频率);(4)中值滤波方法。

2.实验要求(1)图片可根据需要选取;(2)对不同方法和同一方法的不同参数的实验结果进行分析和比较,如空间域卷积模板可有高斯型模板、矩形模板、三角形模板和自己根据需求设计的模板等;模板大小可以是3×3,5×5,7×7或更大。

1光电图像处理实验(图像基本操作)

1光电图像处理实验(图像基本操作)

1光电图像处理实验(图像基本操作)光电图像处理实验报告学⽣姓名:班级:学号:指导教师:实验⽇期:⼀、实验名称:图像基本操作⼆、实验⽬的:1.掌握MATLAB的操作窗⼝功能;2.熟练掌握MATLAB的图像处理基本操作,熟练掌握数字图像读取、显⽰、保存;3.熟练掌握MATLAB各种图像格式⽂件的互相转换。

三、实验原理:MATLAB是由美国mathworks公司发布的主要⾯对科学计算、可视化以及交互式程序设计的⾼科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及⾮线性动态系统的建模和仿真等诸多强⼤功能集成在⼀个易于使⽤的视窗环境中,为科学研究、⼯程设计以及必须进⾏有效数值计算的众多科学领域提供了⼀种全⾯的解决⽅案,并在很⼤程度上摆脱了传统⾮交互式程序设计语⾔(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进⽔平。

MATLAB和Mathematica、Maple并称为三⼤数学软件。

它在数学类科技应⽤软件中在数值计算⽅⾯⾸屈⼀指。

MATLAB可以进⾏矩阵运算、绘制函数和数据、实现算法、创建⽤户界⾯、连接其他编程语⾔的程序等,主要应⽤于⼯程计算、控制设计、信号处理与通讯、图像处理、信号检测、⾦融建模设计与分析等领域。

MATLAB⼯作环境:桌⾯包括4个⼦窗⼝:命令窗⼝、⼯作空间窗⼝、当前路径窗⼝、历史命令窗⼝。

命令窗⼝是⽤户在提⽰符(>>)处键⼊MATLAB命令和表达式的地⽅,也是显⽰那些命令输出的地⽅。

⼯作空间窗⼝显⽰当前的变量名称和值。

双击可以启动数组编辑器。

当前路径窗⼝显⽰当前的⼯作⽬录。

⼯作⽬录的内容显⽰在当前⽬录窗⼝内。

可通过Set Path改变。

历史命令窗⼝包含⽤户已在命令窗⼝中输⼊的命令的记录。

如果要重新执⾏以前的MATLAB命令,可在历史命令窗⼝中双击该命令即可。

使⽤MATLAB编辑器创建M⽂件:MATLAB编辑器既是⽤于创建M⽂件的⽂本编辑器,也是调试器。

《数字图像处理及MATLAB实现》图像增强与平滑实验

《数字图像处理及MATLAB实现》图像增强与平滑实验

《数字图像处理及MATLAB实现》图像增强与平滑实验一.实验目的及要求1、熟悉并掌握MA TLAB 图像处理工具箱的使用;2、理解并掌握常用的图像的增强技术。

二、实验设备MATLAB 6.5 以上版本、WIN XP 或WIN2000 计算机三、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。

熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

(可将每段程序保存为一个.m文件)1.直方图均衡化clear all; close all % Clear the MATLAB workspace of any variables% and close open figure windows.I = imread('pout.tif'); % Reads the sample images ‘pout.tif’, and stores it inimshow(I) % an array named I.display the imagetext(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I) % Create a histogram of the image and display it in% a new figure window.[I2,T] = histeq(I); % Histogram equalization.figure, imshow(I2) % Display the new equalized image, I2, in a new figure window.text(60,20,'李荣桉1909290239','horiz','center','color','r')figure, imhist(I2) % Create a histogram of the equalized image I2.figure,plot((0:255)/255,T); % plot the transformation curve.imwrite (I2, 'pout2.png'); % Write the newly adjusted image I2 to a disk file named% ‘pout2.png’.imfinfo('pout2.png') % Check the contents of the newly written file2.直接灰度变换clear all; close allI = imread('cameraman.tif'); 注意:imadjust()功能:调整图像灰度值或颜色映像表,也可实现伽马校正。

图像增强实验

图像增强实验

图像增强实验实验三、图像增强实验⽬的:(1)进⼀步掌握matlab中的图像处理和分析⼯具。

(2)掌握线性灰度变换的原理和⽬的,熟练使⽤线性灰度变换数学公式。

(3)理解直⽅图的意义,以及直⽅图均衡化的原理与⽬的。

(4)掌握⼏种空间域平滑滤波的⽅法及其应⽤场合,如邻域平均法、中值滤波、和多图像平均法。

(5)了解在频域内使⽤低通滤波器消除噪声的⽅法与特点。

(6)掌握图像锐化⽅法及其应⽤场合。

(7)掌握⼏种图像边缘检测算⼦,如罗伯特梯度算⼦、拉普拉斯算⼦、Sobel算⼦、Prewitt算⼦。

实验内容:1.验证实验-+++++1.1 基于点运算的图像对⽐度增强(a) 利⽤matlab图像⼯具箱提供的函数imhist( ) 观察Mr.bmp 的直⽅图。

请问:该图有何不⾜?如何利⽤matlab图像⼯具箱提供的函数imadjust ( )对其进⾏修正?对⽐度不够强,要增强对⽐度。

J = imadjust(I,[0.0 0.5],[]);>> imshow(I), figure, imshow(J)(b) 利⽤matlab图像⼯具箱提供的函数histeq( ) 对Mr.bmp 进⾏直⽅图均衡化处理,观察处理前后两幅图像的直⽅图。

请问:经过直⽅图均衡处理后,图像的直⽅图有何变化?图像的视觉效果有那些改进?1.2 图像平滑与锐化(a) 了解下列函数如何使⽤?(请各举⼀例加以说明)Imnoise(), colfilt(), medfilt2( ), filter2(), fspecial( ), ordfilt2();(b)利⽤matlab图像⼯具箱提供的函数imnoise ( ) 产⽣3幅不同的含噪图像并保存为bmp⽂件(噪声模型分别为gaussian,salt & pepper,speckle)。

J = imnoise(I,'salt & pepper',0.02);>> figure, imshow(J);J = imnoise(I,'gaussian',0.02);>> figure, imshow(J);J = imnoise(I,'speckle',0.02);>> figure, imshow(J);(c) 输⼊下列代码⽣成⽂件MyMeanFilter.m,并利函数MyMeanFilter( )对加噪图像做“均值滤波”处理(取滤波窗⼝尺⼨分别为3*3,5*5,7*7)。

matlab图像处理综合实验实验报告

matlab图像处理综合实验实验报告

《数字图像处理》实验报告学院:专业:班级:姓名:学号:实验一实验名称:图像增强实验目的:1.熟悉图像在Matlab下的读入,输出及显示;2.熟悉直方图均衡化;3.熟悉图像的线性指数等;4.熟悉图像的算术运算及几何变换.实验仪器:计算机,Matlab软件实验原理:图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。

图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。

空间域的增强主要有:灰度变换和图像的空间滤波。

图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。

实验内容如下:I=imread('E:\cs.jpg');%读取图像subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J) %输出图像title('灰度图像') %在原始图像中加标题subplot(2,2,3),imhist(J) %输出原图直方图title('原始图像直方图')0100200subplot(1,2,2),imshow(K)对数运算:I=imread('E:\dog.jpg');subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J));subplot(2,2,3),imshow(J1,[]),title('对数变换后')指数运算:I=imread('E:\dog.jpg');f=double(I);g=(2^2*(f-1))-1f=uint8(f);g=uint8(g);subplot(1,2,1);subimage(f),title('变换一') subplot(1,2,2);subimage(g),title('变换二')100 200 300100 200 300加法运算:clc;clear all;close all;i = imread('E:\dog.jpg');j = imnoise(i,'gaussian',0,0.02); subplot(1,3,1),imshow(i),title('图一') subplot(1,3,2),imshow(j),title('图二') k=zeros(242,308);for p=1:100j = imnoise(i,'gaussian',0,0.02);j1 = im2double(j);k = k + j1;endk=k/100;subplot(1,3,3),imshow(k),title('图三')实验二实验名称:图像变换实验目的:(1)进一步对matlab的了解和使用;(2)学习如何在matlab中对数字图像的处理;实验原理:图像和其他信号一样,既能在空间域处理,也能在频率域处理。

matlab中的图像增强实验附程序代码

matlab中的图像增强实验附程序代码

matlab中的图像增强实验附程序代码图像增强实验⼀:试验⽬的熟悉并掌握数字图像空域增强:空域变换增强,空域滤波增强⼆:实验内容(1)直⽅图均衡化进⾏图像增强代码: imag=imread('pout.tif'); imag=im2double(imag);subplot(2,2,1);imshow(imag);title('原始图像');subplot(2,2,2);imhist(imag);title('原始图像的直⽅图'); imag1=histeq(imag);subplot(2,2,3);imshow(imag1);title('直⽅图均衡化后的图像');subplot(2,2,4);imhist(imag1);title('直⽅图均衡化后的图像的直⽅图'); 直⽅图均衡化进⾏图像增强效果图(2)对图像加⼊椒盐噪声,并分别⽤中值滤波和⾃适应的⽅法进⾏去噪处理的代码:imag2=imnoise(imag,'salt',0.02); imag3=medfilt2(imag2); imag4=wiener2(imag2);subplot(2,2,1);imshow(imag);title('原始图像');subplot(2,2,2);imshow(imag2);title('加⼊椒盐噪声后的图像'); subplot(2,2,3);imshow(imag3);title('进⾏中值滤波后的图像'); subplot(2,2,4);imshow(imag4);title('进⾏⾃适应滤波后的图像');对图像加⼊椒盐噪声,并分别⽤中值滤波和⾃适应的⽅法进⾏去噪处理的效果原始图像0.51原始图像的直⽅图直⽅图均衡化后的图像0.510直⽅图均衡化后的图像的直⽅图(3)对⽐度增强代码:I=imread('C:\Documents and Settings\Administrator\桌⾯\测试图像\rice.tif'); J=imadjust(I,[0.3,0.7],[]); subplot(2,2,1);imshow(I);title('原始图像'); subplot(2,2,2);imshow(J);title('');subplot(2,2,3);imhist(I);title('原始图像的灰度直⽅图');subplot(2,2,4);imhist(J);title('进⾏对⽐度增强后的图像的灰度直⽅图'); 对⽐度增强效果原始图像加⼊椒盐噪声后的图像进⾏中值滤波后的图像进⾏⾃适应滤波后的图像原始图像10020005001000原始图像的灰度直⽅图1002000500100015002000进⾏对⽐度增强后的图像的灰度直⽅图。

使用MATLAB进行图像增强的最佳实践

使用MATLAB进行图像增强的最佳实践

使用MATLAB进行图像增强的最佳实践引言随着数字图像技术的快速发展,图像增强成为了图像处理领域的一个重要研究方向。

借助图像增强技术,我们可以改进图像质量、增强图像细节、提升图像的视觉效果等。

而MATLAB作为一款功能强大的数学计算软件,在图像处理领域也有着广泛的应用。

本文将介绍使用MATLAB进行图像增强的最佳实践。

一、图像增强的概念与目标图像增强是指改善图像的视觉质量,使其更适合于人眼观察与分析的过程。

其目标包括但不限于:增强图像的亮度、对比度;改善图像的细节和清晰度;减少图像的噪声等。

图像增强的实质是对图像的像素值进行调整以改善图像的视觉效果。

二、MATLAB中的图像增强函数MATLAB提供了丰富的图像增强函数,通过这些函数我们可以方便地实现各种图像增强算法。

下面我们将介绍几个常用的图像增强函数。

1. histeq函数histeq函数(直方图均衡化)是一种广泛用于增强图像视觉效果的方法。

该函数通过调整图像像素的灰度分布来增强图像的对比度。

它将图像的灰度级映射到一个均匀分布的直方图上,从而提高图像的亮度和对比度。

2. imadjust函数imadjust函数通过对图像的灰度级进行线性变换来增强图像的对比度。

该函数可以将图像的灰度级映射到指定的输出范围内,从而增强图像的亮度和对比度。

3. adapthisteq函数adapthisteq函数是一种自适应的直方图均衡化方法。

该函数通过将图像分成多个小区域,并对每个小区域进行直方图均衡化,从而提高图像的对比度和细节。

三、图像增强的实践步骤在使用MATLAB进行图像增强时,我们可以根据以下步骤进行实践。

1. 读取图像使用imread函数读取待增强的图像,并将其存储在MATLAB的变量中。

2. 图像预处理在进行图像增强之前,我们可以进行一些图像预处理的操作,如图像去噪、图像滤波等。

这些操作有助于减少图像噪声、平滑图像细节,从而提高后续增强算法的效果。

3. 图像增强方法的选择根据图像的具体需求,选择合适的图像增强方法。

数字图像实验三图像增强

数字图像实验三图像增强

实验三、图像增强一、实验目的(1)熟悉并学会使用MATLAB中图像增强的相关函数。

(2)掌握图像灰度修正、平滑去噪、锐化加强边缘和轮廓的方法,并编程实现。

二、实验主要仪器设备(1)台式机或笔记本电脑。

(2)MATLAB软件(含图像处理工具箱)。

注意:由于软件版本的缘故,软件的界面可能有所差异,读者可以根据实际安装的软件选择相关的命令。

(3)典型的灰度、彩色图像文件。

三、实验原理数码相机的曝光量指到达DC感光器件上的光线总量,用曝光值(EV)表示。

图像的过度曝光、曝光不足时,用曝光补偿调节曝光量,这种功能可修正自动曝光设置值为上升或下降几级。

例如,某些DC的EV调整范围为+3~0~-3。

尝试对同一景象进行正确曝光、过度曝光和曝光不足三种情况成像情况。

(1)将一幅图像视为一个二维矩阵,用MATLAB进行图像增强。

(2)利用MATLAB图像处理工具箱中的函数imread(读入),imshow(显示),imnoise (加噪),filter2(滤波)对图像进行去噪处理。

(3)图像灰度修正:灰度变换。

对不满意的图像通过线性或非线性灰度映射关系进行变换,其效果可以得到明显提高。

通过分析,会发现变换前后图像的直方图也发生相应的变化。

(4)图像平滑方法:领域平均、中值滤波。

分析图像降质的性质,区分平稳性还是非平稳型、加性还是乘性等,采用合适的去噪方法,可以去除或降低噪声对图像的影响。

从频率域看,平均操作在降低噪声的同时衰减了图像的高频分量,会影响图像细节的重现。

中值滤波对某些信号具有不变形,适用于消除图像中的突发干扰,但如果图像含有丰富的细节,则不宜使用。

(5)图像锐化方法:人眼对目标的边缘和轮廓较为敏感,对图像进行锐化,有助于突出图像的这些特征。

从频率域看,锐化提升了图像的高频分量。

四、实验内容MATLAB图像增强:①图像灰度修正;②图像平滑方法;③图像锐化方法。

五、实验步骤MATLAB图像增强。

(1)图像灰度修正。

实验二MATLAB图像增强

实验二MATLAB图像增强

MATLAB实现
fspecial,产生预定义的滤波器,主要形式 为: H=fspecial(type) 根据参数type的不同,得到相应的二维 滤波器。
例:
I1=imread('blood1.tif'); I=imnoise(I1,'salt & pepper',0.02); K1=filter2(fspecial('average',3),I)/255; K2=filter2(fspecial('average',5),I)/255; K3=filter2(fspecial('average',7),I)/255; subplot(2,2,1);imshow(I); title(‘噪声图像’) ; subplot(2,2,2);imshow(K1);title('3×3'); subplot(2,2,3);imshow(K2); title('5×5'); subplot(2,2,4);imshow(K2); title('7×7');
I=imnoise(I1,‘salt & pepper’,0.02); imshow(I); h1=1/4.*[0 1 0;1 0 1;0 1 0]; h2=1/8.*[1 1 1;1 0 1;1 1 1];
K1=filter2(h1,I);
K2=filter2(h2,I);
figure,imshow(K1);
MATLAB灰度变换
imadjust函数来实现图像的对比度调整。
J=imadjust(I,[low_in high_in], [low_out high_out],gamma)

matlab 图像 实验报告

matlab 图像 实验报告

matlab 图像实验报告Matlab图像实验报告引言:Matlab是一种强大的计算机编程语言和开发环境,广泛应用于科学计算、数据分析和图像处理等领域。

本实验报告旨在介绍基于Matlab的图像处理实验,包括图像读取、图像处理和图像显示等方面的内容。

一、图像读取图像读取是图像处理的第一步,通过读取图像可以获取图像的像素信息。

在Matlab中,可以使用imread函数来读取图像文件。

例如,通过以下代码可以读取一张名为"image.jpg"的图像:```matlabimage = imread('image.jpg');```二、图像处理1. 灰度化处理灰度化处理是将彩色图像转换为灰度图像的过程。

在Matlab中,可以使用rgb2gray函数来实现灰度化处理。

以下是一个简单的示例:```matlabgray_image = rgb2gray(image);```2. 图像增强图像增强是通过一系列的处理方法来改善图像的质量和视觉效果。

在Matlab中,有多种图像增强方法可供选择,如直方图均衡化、滤波和边缘检测等。

以下是一个直方图均衡化的示例:```matlabenhanced_image = histeq(gray_image);```3. 图像分割图像分割是将图像划分为若干个区域的过程,每个区域具有相似的特征。

在Matlab中,可以使用各种图像分割算法,如阈值分割和基于区域的分割。

以下是一个简单的阈值分割示例:```matlabthreshold = graythresh(enhanced_image);binary_image = imbinarize(enhanced_image, threshold);```三、图像显示图像显示是将处理后的图像展示给用户的过程。

在Matlab中,可以使用imshow函数来显示图像。

以下是一个简单的示例:```matlabimshow(binary_image);```四、实验结果与讨论本次实验中,我们选择了一张名为"image.jpg"的彩色图像进行处理。

数字图像处理实验报告图像增强处理与几何变换

数字图像处理实验报告图像增强处理与几何变换

实验图像增强处理与几何变换一、实验目的利用Matlab图像处理工具箱中的函数实现图像点处理、空间域平滑和锐化处理、彩色图像处理、几何处理,巩固其原理与计算方法学习,深化课程理论认知。

二、实验内容1、图像点处理:灰度变换、直方图均衡化和直方图规定处理;2、图像均值滤波和中值滤波、图像锐化处理;3、图像几何变换处理;4、图像彩色合成和彩色变换处理;三、实验步骤1、图像点处理:灰度变换、直方图均衡化和直方图规定处理;1.1图像的灰度变换启用MATLAB,输入以下代码运行I= imread('cameraman-8.bmp','bmp');figure; subplot(2,2,1), imshow(I);%获取图像直方图subplot(2,2,2),imhist(I);[counts1,x1] = imhist(I);%观察Counts,x的值subplot(2,2,3),stem(x1,counts1);%图像灰度变换J=imadjust(I,[0.1 0.7],[0.0 0.9]);subplot(2,2,4), imshow (J);%对比灰度变换前后的图像及其直方图figure;subplot(2,3,1),imshow(I);subplot(2,3,2),imshow(J);subplot(2,3,4),imhist(I);subplot(2,3,5),imhist(J);[counts2,x2] = imhist(J);subplot(2,3,6), stem(x2,counts2);图 1.1.1图 1.1.21.2图像直方图均衡化启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp') ;%直方图均衡化处理J=histeq(I) ;%对比均衡化处理前后的图像及其直方图figure(1),subplot(2,2,1),imshow(I),subplot(2,2,2),imshow(J); figure(1),subplot(2,2,3),imhist(I),subplot(2,2,4),imhist(J);图 1.2 1.3直方图规定化启用MATLAB,输入以下代码运行I1=imread('TM5.bmp','bmp');I2=imread('TM3.bmp','bmp');%直方图规定化处理K1=histeq(I1,imhist(I2));%对比规定化处理前后的图像及其直方图figure;subplot(3,2,1),imshow(I1);subplot(3,2,2), imhist(I1);subplot(3,2,3),imshow(I2);subplot(3,2,4), imhist(I2);subplot(3,2,5),imshow(K1);subplot(3,2,6), imhist(K1);图 1.32、图像空间域平滑2.1 用均值滤波器实现图像空间域的平滑启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp');J=imnoise(I,'gaussian'); %添加高斯噪声K=imnoise(I,'salt & pepper'); %添加椒盐噪声M=imnoise(I,'speckle'); %添加乘性噪声H=ones(3,3)/9; %3*3的均值去噪模板%滤波去噪处理I1=imfilter(I,H);J1=imfilter(J,H);K1=imfilter(K,H);M1=imfilter(M,H) ;%对比线性滤波去噪处理前后的图像figure;subplot(2,4,1),imshow(I);title('原图');subplot(2,4,2),imshow(J); title('高斯噪声图像'); subplot(2,4,3),imshow(K); title('椒盐噪声图像'); subplot(2,4,4),imshow(M); title('乘性噪声图像'); subplot(2,4,6),imshow(J1); title('高斯噪声滤波图像'); subplot(2,4,7),imshow(K1); title('椒盐噪声滤波图像'); subplot(2,4,8),imshow(M1) ; title('乘性噪声滤波图像') ; 输出图像如下图 2.12.2 用中值滤波器实现图像空间域的平滑启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt & pepper',0.02);I3=imnoise(I,'speckle');%3×3中值滤波模板J=medfilt2(I,[3,3]);J1=medfilt2(I1,[3,3]);J2=medfilt2(I2,[3,3]);J3=medfilt2(I3,[3,3]);figure,subplot(2,4,1),imshow(I) ; title('原图') ;subplot(2,4,2),imshow(I1) ; title('添加高斯噪声') ;subplot(2,4,3),imshow(I2) ; title('添加椒盐噪声') ;subplot(2,4,4),imshow(I3) ; title('添加乘性噪声') ;subplot(2,4,6),imshow(J1) ;title('高斯噪声3*3中值滤波') ; subplot(2,4,7),imshow(J2) ;title('椒盐噪声3*3中值滤波') ; subplot(2,4,8),imshow(J3) ;title('乘性噪声3*3中值滤波') ;K=medfilt2(I, [5,5]); %5×5中值滤波模板K1=medfilt2(I1,[5,5]);K2=medfilt2(I2,[5,5]);K3=medfilt2(I3,[5,5]);figure;subplot(2,2,1),imshow(K); title('原图5*5中值滤波'); subplot(2,2,2),imshow(K1) ; title('高斯噪声5*5中值滤波') ; subplot(2,2,3),imshow(K2); title('椒盐噪声5*5中值滤波'); subplot(2,2,4),imshow(K3) ; title('乘性噪声5*5中值滤波'); 输出结果如下图 2.2.1图 2.2.22.3 图像空间域锐化启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp','bmp')H=fspecial('sobel')%用sobel算子做模板%锐化处理J=imfilter(I,H)%锐化处理前后图像对比figure,subplot(1,2,1),imshow(I),subplot(1,2,2),imshow(J); 输出图像如下图 2.33、图像几何变换3.1 缩放启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp', 'bmp') ;%放大图像J=imresize(I,2) ;%缩小图像K=imresize(I,0.5) ;%图像对比figure(1),subplot(),imshow(I),title('原图'),figure(2),subplot(),imshow(J),title('放大两倍的图'),figure(3),subplot(),imshow(K),title('缩小0.5倍的图') ;输出图像如下图 3.1.1 图3.1.2图 3.1.33.2旋转启用MATLAB,输入以下代码运行I=imread('cameraman-8.bmp', 'bmp') ;%旋转图像M=imrotate(I,45) ;%图像对比figure;subplot(1,2,1),imshow(I),subplot(1,2,2),imshow(M) ;输出图像如下图 3.24、彩色图像处理4.1彩色合成启用MATLAB,输入以下代码运行I=imread('peppers.bmp','bmp');J1=I; J2=I;J3=I; J4=I;J5=I;%改变J1、J2、J3、J4、J5中的波段次序,组合成新的波段合成J1(:,:,1)=I(:,:,2); J1(:,:,2)=I(:,:,3); J1(:,:,3)=I(:,:,1) ;J2(:,:,1)=I(:,:,1); J2(:,:,2)=I(:,:,3); J2(:,:,3)=I(:,:,2) ;J3(:,:,1)=I(:,:,2); J3(:,:,2)=I(:,:,1); J3(:,:,3)=I(:,:,3) ;J4(:,:,1)=I(:,:,3); J4(:,:,2)=I(:,:,2); J4(:,:,3)=I(:,:,1) ;J5(:,:,1)=I(:,:,3); J5(:,:,2)=I(:,:,1); J5(:,:,3)=I(:,:,2) ;%对比原图像I与新图像J1、J2、J3、J4、J5的彩色差异,理解假彩色合成figure,subplot(2,3,1),imshow(I),title('原图');subplot(2,3,2),imshow(J1),title('变换一') ;subplot(2,3,3),imshow(J2),title('变换二') ;subplot(2,3,4),imshow(J3),title('变换三') ;subplot(2,3,5),imshow(J4),title('变换四') ;subplot(2,3,6),imshow(J5),title('变换五');输出图像如下图4.1 4.2彩色变换启用MATLAB,输入以下代码运行I=imread('peppers.bmp','bmp');HSV=rgb2hsv(I) ;RGB=hsv2rgb(HSV) ;%对比彩色变换前后的图像figure;subplot(1,3,1),imshow(I),title('原图'),subplot(1,3,2),imshow(HSV),title('HSV图像'); subplot(1,3,3),imshow(RGB),title('RGB图像') ;输出结果如下图 4.2四、实验算法要点总结1、图像点处理直方图修正法通常分为直方图均衡化和直方图规定化两类2、图像均值滤波和中值滤波、图像锐化处理3、图像几何变换处理4、图像彩色合成和彩色变换处理通过映射函数将彩色图像或多光谱图像变换成新的三基色分量线性假彩色映射表示为:。

实验一图像增强实验

实验一图像增强实验

实验一图像增强实验实验目的:1.掌握图像增强的算法2.学习利用MATLAB进行图像的增强实验内容:1.图像的点操作、邻域操作算法2.图像的直方图处理算法实验步骤:1.读入图像,用MATLAB函数实现图像读入(1)启动MATLAB(2)在命令行窗口直接输入MATLAB命令,按“回车”键后执行(3)读入命令和显示命令分别为 imread 和 imshow(4)如A=imread('D:\上官军\medical image\woman.jpg')Imshow (A)结果显示2.实现图像点操作运算(gamma校正和对数校正)(1)根据图像线形变换三种形式,图像反转 S=L-1-r 、对数变换S=c*log(1+r) 、幂次变换 S=c*r .^γ编写图像点操作函数(2)建立新的M文件,点操作函数代码如下:function s=dian(r,leixing,chengshu,gamma1)% r为处理图像,leixing为操作类型s1=imread(r);s2=im2double(s1);%将图像转为double数据型switch leixingcase 'fanzhuan's=1-s2;case 'duishu's=chengshu*log(1+s2);case 'gamma's=chengshu*s2.^gamma1;otherwiseerror('错误')endsubplot(1,2,1), imshow(s1);subplot(1,2,2),imshow(s);(3)实际操作,如反转:Y=dian('D:\上官军\medical image\woman.jpg','fanzhuan',1,1);3.图像邻域处理(1)图像邻域处理是通过设计相应的滤波器来处理相邻图像像素,主要为均值滤波器、中指滤波器、高斯滤波器等(2)建立新的M文件,均值滤波函数代码如下:function d=avefilt(x,n)a(1:n,1:n)=1;%a即n×n模板,元素全是1p=size(x);%输入图像是p×q的x1=double(x);%A(a:b,c:d)表示A矩阵的第a到b行,第c到d列的所有元素for i=1:p(1)-n+1for j=1:p(2)-n+1c=x1(i:i+(n-1),j:j+(n-1)).*a;%取出x1中从(i,j)开始的n行n列元素与模板相乘s=sum(sum(c));%求c矩阵(即模板)中各元素之和x1(i+(n-1)/2,j+(n-1)/2)=s/(n*n);%将模板各元素的均值赋给模板中心位置的元素endendd=uint8(x1);subplot(1,2,1),imshow(x);title('均值滤波前图像');subplot(1,2,2),imshow(d);title('均值滤波后图像');(3)实际操作,代码如下:A=imread('D:\上官军\medical image\woman.jpg');Y=avefilt(A,3);滤波前图像滤波后图像4.直方图的均衡处理(1)图像直方图利用MATLAB工具箱中imhist产生,根据直方图均衡计算公式:编写直方图均衡函数(2)建立新的M文件,直方图均衡代码如下:function s=zhifangtu(r)s1= r;[m,n]=size(s1);%检测图像大小count=0;s2=zeros(m,n);% s2是行列分别为m、n的0矩阵s3=zeros(1,255);figure,imhist(s1);[counts]=imhist(s1);for k=1:255count=count+counts(k); s3(k)=255*count/(m*n); end%根据直方图均衡公式编写for x=1:mfor y=1:ns2(x,y)=s3(s1(x,y)+1); endends=s2;s=mat2gray(s);s=im2uint8(s);subplot(1,2,1),imshow(s);title('均衡后的图片');subplot(1,2,2),imhist(s);title('均衡后的直方图');(3)实际操作,代码如下:A=imread('D:\上官军\medical image\woman.jpg'); Y=zhifangtu(A)均衡后的图片501001502002500均衡后的直方图(注:可编辑下载,若有不当之处,请指正,谢谢!)。

基于MATLAB的图像增强处理

基于MATLAB的图像增强处理

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。

图像增强技术根据增强处理过程所在的空间不同,可分为基于空域的算法和基于频域的算法两大类。

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

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

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

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

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

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

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

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

四、实验目的:1.掌握空域和频域图像增强的基本方法和原理;2.熟练掌握空域直方图均衡、图像锐化算子、平滑算子实现方法和流程。

3.熟练掌握频域图像的锐化、平滑实现方法和流程。

4.熟悉和掌握利用Matlab工具进行图像增强的基本步骤、MATLAB 函数使用及具体变换处理流程;五、实验器材(设备、元件):计算机,Matlab软件六、实验内容及步骤:八、实验结果分析总结1、直方图其源代码为:%灰度直方图I=imread('trees.tif');%读取图像subplot(2,1,1);Imshow(I);%显示图像title('(a)原图');subplot(2,1,2);imhist(I);%绘制图像的灰度直方图title('(b)原图的灰度直方图');其结果为:2、灰度直方图均衡化其源代码为:%灰度直方图均衡化I=imread('trees.tif');%读取图像subplot(2,2,1);Imshow(I);%显示图像title('原图');subplot(2,2,2);imhist(I);%绘制图像的灰度直方图title('原图的灰度直方图');subplot(2,2,3);J=histeq(I,64);%对图像进行均衡化处理,返回有64级灰度的图像J Imshow(J);%显示图像title('原图直方图均衡化');subplot(2,2,4);imhist(J);%绘制图像的灰度直方图title('均衡后的灰度直方图');其结果为:3、图像二值化其源代码为:%图像二值化(选取一个域值,(5) 将图像变为黑白图像)I=imread('onion.png');bw=im2bw(I,0.5);%选取阈值为0.5subplot(1,3,1);imshow(I);title('原图');subplot(1,3,2);imshow(bw);title('显示二值图像');J=find(I<150);I(J)=0;J=find(I>=150);I(J)=255;subplot(1,3,3);imshow(I);title(' 图像二值化 ( 域值为150 ) ');其结果为:4、直方图变换其源代码为:%imadjust函数I=imread('rice.png');%读取图像subplot(2,2,1);Imshow(I);%显示图像title('原图');subplot(2,2,2);imhist(I);%绘制图像的灰度直方图title('原图的灰度直方图');subplot(2,2,3);J=imadjust(I,[0.3 0.7],[]);%对图像进行灰度变换Imshow(J);%显示图像title('原图直方图均衡化');subplot(2,2,4);imhist(J);%绘制图像的灰度直方图title('均衡后的灰度直方图');其结果为:5、对数变换其源代码为:%对数变换I=imread('rice.png');%读取图像I=mat2gray(I);%对数变换不支持uint8类型数据,将一个矩阵转化为灰度图像的数据格式(double)J=log(I+1);subplot(1,2,1);Imshow(I);%显示图像title('原图');subplot(1,2,2);Imshow(J);title('对数变换后的图像')其结果为:6、校正其源代码为:%Gamma校正for i=0:255;f=power((i+0.5)/256,1/2.2);LUT(i+1)=uint8(f*256-0.5);endimg=imread('博园揽胜.JPG');img0=rgb2ycbcr(img);R=img(:,:,1);G=img(:,:,2);B=img(:,:,3);Y=img0(:,:,1);Yu=img0(:,:,1);[x y]=size(Y);for row=1:xfor width=1:yfor i=0:255if (Y(row,width)==i)Y(row,width)=LUT(i+1); break;endendendendimg0(:,:,1)=Y;img1=ycbcr2rgb(img0);R1=img1(:,:,1);G1=img1(:,:,2);B1=img1(:,:,3);subplot(1,2,1);imshow(img);%显示图像title('原图');subplot(1,2,2);imshow(img1);title('Gamma后的图像')其结果为:7、滤波1(1)%线性平滑滤波其源代码为:%线性平滑滤波I=imread('cameraman.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)%利用低通邻域平均模板进行平滑其源代码为:I=imread('济大.bmp');I=rgb2gray(I);subplot(1,3,1);imshow(I);title('原图');J=fspecial('average');J1=filter2(J,I)/255;subplot(1,3,2);imshow(J1);title('3*3滤波');K=fspecial('average',9);K1=filter2(K,I)/255;subplot(1,3,3);imshow(K1);title('9*9滤波');其结果为:8、滤波2(1)%中值滤波和平均滤波I=imread('白云广厦.JPG ');I=rgb2gray(I);J=imnoise(I,'gaussian',0,0.01); subplot(2,2,1);imshow(I);title('原图');subplot(2,2,2);imshow(J);title('noise');K=fspecial('average',5);K1=filter2(K,J)/255;subplot(2,2,3);imshow(K1);title('平均滤波');L=medfilt2(J,[3 5]);subplot(2,2,4);imshow(L);title('中值滤波');其源代码为:其结果为:(2)%二维中值滤波其源代码为:hood=3;[P,map]=imread('济大.bmp');I=rgb2gray(P);imshow(I,map);noisy=imnoise(I,'salt & pepper',0.05); %加入强度为0.05的椒盐噪声subplot(221);imshow(noisy,map);title('加入椒盐噪声');filtered1=medfilt2(noisy,[hood hood]);%3×3窗口二维中值滤波subplot(222);imshow(filtered1,map);title('3×3窗口');hood=5;filtered2=medfilt2(noisy,[hood hood]); %5×5窗口二维中值滤波subplot(223);imshow(filtered2,map);title('5×5窗口');hood=7;filtered3=medfilt2(noisy,[hood hood]); %7×7窗口二维中值滤波subplot(224);imshow(filtered3,map);title('7×7窗口');I=imread('leno.bmp');figure;imshow(I);title('原图');其结果为:(3)%高通滤波边缘增强其源代码为:I=imread('济大.bmp');I=rgb2gray(I);subplot(2,2,1);imshow(I);title('original pic'); J=fspecial('average',3); J1=conv2(I,J)/255; subplot(2,2,2);imshow(J1);title('3*3lowpass');K=fspecial('prewitt'); K1=filter2(K,J1)*5; subplot(2,2,3);imshow(K1);title('prewitt');L=fspecial('sobel');L1=filter2(L,J1)*5; subplot(2,2,4);imshow(L1);title('sibel');其结果为:9、%锐化其源代码为:a=imread('cameraman.tif');subplot(131);imshow(a);title('原图');b=double(a);%将图像矩阵转化为double类型s=size(b);c=zeros(s(1,1),s(1,2));for x=2:s(1,1)-1for y=2:s(1,2)-1c(x,y)=(-b(x+1,y)-b(x-1,y)-b(x,y+1)-b(x,y-1)+4*b(x,y));endend%用拉氏算子对图像进行滤波,这个过程相当于运用了一个3×3的掩膜[0,-1,0;-1,4,-1;0,-1,0]subplot(132);imshow(c);title('Laplace锐化滤波图像');d=b+c;%当拉普拉斯掩膜中心系数为正时,增强图像为原图像于拉氏算子滤波图像之和d=uint8(d);%将图像矩阵变回uint8格式subplot(133);imshow(d);title('Laplace锐化滤波结果');其结果为:12、%真彩色图像的分解其源代码为:RGB=imread('白云广厦.JPG'); subplot(221),imshow(RGB)title('原始真彩色图像')subplot(222),imshow(RGB(:,:,1)) title('真彩色图像的红色分量') subplot(223),imshow(RGB(:,:,2)) title('真彩色图像的绿色分量') subplot(224),imshow(RGB(:,:,3)) title('真彩色图像的蓝色分量')其结果为:九、思考题:1、图像的空域增强方法及分类?答:根据空间域增强所用模板大小,可将空间域增强分为三类:A、基于点的操作;B、基于邻域的操作;C、基于图像集的操作。

相关文档
最新文档