MATLAB图像处理

MATLAB图像处理
MATLAB图像处理

光电图像处理

2020年 4月

(一)彩色图像的增强

1.研究目的及意义

人类传递的信息有70%是视觉信息.图像信息是传递信息的重要媒体和手段。但是在生活中,常常由于光线不充足,在获得图像后会发现图像亮度不够,导致景物无法看清楚。为了研究和分析图像,需对图像进行必要的处理。对于数字图像常用的处理方法就是用图像增强技术来改善图像的像质。图像增强是指按特定的需要突出一幅图像的某些信息,同时,削弱或去除某些不需要的信息的处理方法。其主要目的是使处理后的图像对某种特定的应用来说,比原始图像更适用。处理的结果使图像更适合于人的视觉特性或机器的识别系统。

图像增强技术主要是针对灰度图来作用。其手段是修改直方图。在图像处理中色彩的运用是很重要的,原因有两个:第一,在自动图像分析中色彩是一个有力的描述工具,它通常可使从一个场景中识别和抽取日标的处理得到简化;第二,人们对图像进行分析时,人眼区别的灰度层次大约只有二十几种,但却能够识别成千上万的色彩。

彩色图像中含有较大的信息量;而且人眼对色彩的识别和区分能力可以达到灰度辨别能力的百倍以上,所以彩色图像的增强对从图像中获得更多的信息有着非常重要的作用。

2.理论基础

图像增强根据图像的模糊情况采用各种特殊的技术突出图像中的某些信息,削弱或消除无关信息达到强调图像的整体或局部特征的目的。常用的图像增强技术有直方图修改、图像平滑滤波、图像锐化等。图像增强技术主要分为两类:频域增强法和空域增强法。频域增强法主要是利用各种频域滤波器进行图像平滑或锐化处理,然后进行变换域反变換来增强图像;空域增强法是直接针对图像中的像素,对图像的灰度进行处理。空域法属于直接增强的方法,它包括扩展对比度的灰度变换和直方图变换.清除噪声的平滑法和增强边缘的锐化法。

图像增强原理:设原始图像在(x,y)处的灰度为f(x,y),而增强后的灰度为g(x,y),则图像的增强可表示为将在(x,y)处的灰度f(x,y)映射为g(x,y),可表示为g(x,y)=T[f(x,y)],针对灰度图像。彩色图像是由红、绿、蓝三基色叠加而成,每一基色便是一幅灰度图,因此,彩色增强可以说是建立在灰度图像增强基础上的。

3.常见的方法

彩色图像的增强一般根据其处理对象的不同可以分为: (1) 伪彩色增强法:对灰度图像进行伪彩色增强,使之映射到彩色图像,有利于人眼观察到灰度图像中不易辨别的细节。(2)真彩色增强法:对彩色图像进行真彩色增强,可通过调整彩色图像中的高度分量实现,提高

彩色图像对比度来辨别彩色图像中不易辨别的细节(3)假彩色增强:把真实的自然彩色图像或遥感多光谱图像处理成假彩色图像。

彩色图像的增强,可以将原始彩色图像从红、绿、蓝RGB空间转换到色调、饱和度、亮度HSV空间;也可以保持色调H分量不变,对亮度V采用均值和标准差方式进行局部增强,根据饱和度S和亮度V的关系,对饱和度S进行变化;也可将经过处理后的图像HSV 空间转换到RGB空间。不同颜色空间的彩色图像的分量有所不同,对彩色图像的分量进行增强,当然不仅仅是对亮度进行增强,还可以对色调进行平衡,或对饱和度进行增强。

(1)RGB模型增强

将R、G、B三基色分别进行直方图的修改,增强后再合成彩色图像可以得到增强的彩色图像。假设原彩色图像的像素值为x=[R,G,B]T则目标图像的像素值y为y= [R′,G′,B′]T=log(x)=log?([R,G,B]T)

(2)HSB模型增强

基于人类对色彩的感觉,HSB模型描述了颜色的三个基本特征:色相(H)、饱和度(S)、亮度(B)。若将灰度图像的直方图修改的图像增强方

法应用到彩色图像的亮度分量上,而色相和饱和度不

变,就可以得到细节更清晰的彩色图像。过程可以用

图1来描述。

用数学方法描述为:原图像HSB模型像素值x′为:

x′=[H,S,B]T=G(x)=G([R,G,B]T),增强后HSB模

型像素值x′′为:x′′=[H′,S,B]T=[log(H),S,B]T,增强

后的彩色图像像素值y为:y=[R′,G′,B′]T=

G?1(x′′)=G?1([H′,S,B]T),式中G为RGB模型与HSB模型的交换算法,G?1为逆变换算法。

在运算过程中,目标图像的对比度场可能存在着对比度放大,并且整个过程中噪声是存在的,可能在结果图像中原本平坦的内部并“不平坦”,存在一些亮点或暗点。这种情况在灰度图像中尚可以接受,因为它符合原来的黑白色调;但是在彩色图的亮度分量处理结果中就不.合适了,因为亮度分量中原本很大的对比度过分放大,但同时要保证细微的对比度信息得到充分的放大,故而在运算过程中要对对比度进行调整。

(3)基于视觉统计特性的伪彩色映射

关于人类视觉的色彩感知的研究和统计结果表明,大量人眼色彩感知较好的图像,其

RGB 三分量的相关系数矩阵的均值如表1所示:

表1 符合视觉特性的彩色图像相关系数

表1中 分量R 和S 的相关系数定义为:

r =∑∑(R ?R

?)(S ?S )mn ?mn n m n m

可以设计一线性变换,变换矩阵A 将彩色图像的RGB 分量进行变换,使变换后的RGB 三维空间的相关系数符合表1,也即更符合人视觉的统计特性。假设原彩色图像的像素值为:x =[R,G,B ]T ,其相关系数矩阵为C x ,目标图像的相关系数矩阵为C y ,由相关系数的非负定

性,可对C x 和C y 进行Cholsky 分解,有:{C x =Q x T ?Q x C y =Q y T ?Q y

,其中Q x ,Q y 为上三角阵,{?}T ,{?}?1分别表示矩阵的转置和求逆,设A 为:A =Q x ?1?Q y ,则目标图像像素值y 为:y =A T x

上式变换后作为最终的彩色增强图更符合人的视觉感知特性。由于相关系数的定义式(7)是对各分量交流功率的归一化值,故而对于变换结果y,虽然其动态范围可能超过或小于显示或打印的范围,但是对其做线性拉伸处理再显示不会改变相关系数,仍可以保持较好的视觉效果,同时满足输出动态范围的约束。RGB 模型是用来直接描述图像的彩色信息,在处理彩色图像时,往往不对R.、G 、B 直接来处理。相比,HSB 模型中只对模型中的亮度信息进行处理会得到较好的图像效果;为了能更清楚地看清图像,将灰度图映射为色彩较丰富的伪彩色图,可以观察到更多的图像细节。

4.彩色图像增强的优缺点

生活中,人们经常用图像来表示信息。因此,图像信息的准确传递,并适合人眼准确接收都是非常重要的。如果图像信息没有准确传递信息或者图像传递的信息不适合人眼接收,就应该对图像进行处理,使之可以适合人眼接收,准确传递信息。在得到的彩色图像中,有时会存在对比度低、颜色偏暗以及局部细节不明显等问题,为了改善图像的视觉效果、突出图像的特征,利于进一步的处理,需要对图像进行增强处理。

(二)编写MATLAB 程序并对运行结果进行分析

1.流程图

读取原彩色图像

真彩色图像的红色分

量变换

真彩色图像的绿色分量

变换 开始 图像处理实验

真彩色图像的蓝色分量

变换

绘制红色分量图像的灰

度直方图

绘制绿色分量图像的灰

度直方图 绘制蓝色分量图像的灰

度直方图

将原图转化为灰度图像 绘制灰度图像的直方图 将原图转化为二值图像 绘制二值图像的直方图 将灰度图进行均衡化 绘制均衡化后的灰度直方图 将高斯噪声加入灰度图像 将椒盐噪声加入灰度图像 绘制加入高斯噪声的灰度图

像的直方图 绘制加入椒盐噪声的灰度图

像的直方图 对加椒盐噪声后的图像进行均值滤波 绘制中值滤波后的直方图

对加椒盐噪声后的图像进行

中值滤波 绘制均值滤波后的直方图

对中值滤波后的图像用prewitt 算子进行边缘增强

绘制两种滤波的边缘增强后的直方图

对均值滤波后的图像用prewitt 算子进行边缘增强 对图像进行Laplace 锐化 对均值滤波后的图像用

sobel 算子进行边缘提取 绘制两种滤波的边缘提取

后的直方图

对中值滤波后的图像用

sobel 算子进行边缘提取

绘制原图像的直方图 将原图进行均衡化 绘制均衡化后的原图直方图 对加高斯噪声后的图像进

行均值滤波

对加高斯噪声后的图像进

行中值滤波

对加高斯噪声的图像进行5*5、

7*7、9*9的均值滤波 绘制均值滤波后的图像

绘制中值滤波后的图像 绘制5*5、7*7、9*9均值滤波后的图像 结束

2.MATLAB程序代码

clear

%选取一幅真彩色照片,将其分解成红、绿、蓝三个分量显示,并绘制直方图;

A=imread('山水画.png');

subplot(231),imshow(A(:,:,1)),title('红色分量');

subplot(232),imshow(A(:,:,2)),title('绿色分量');

subplot(233),imshow(A(:,:,3)),title('蓝色分量');

subplot(234),imhist(A(:,:,1)),title('红,直方图');

subplot(235),imhist(A(:,:,2)),title('绿,直方图');

subplot(236),imhist(A(:,:,3)),title('蓝,直方图');

%把彩色图像分别转化为灰度图和二值图,将其显示并绘制直方图;

B=rgb2gray(A);C=im2bw(A,0.5);

figure,

subplot(431),imshow(A),title('原图');

subplot(432),imshow(B),title('灰度图');

subplot(433),imshow(C),title('二值图');

subplot(434),imhist(A),title('原图直方图');

subplot(435),imhist(B),title('灰度图直方图');

subplot(436),imhist(C),title('二值直方图');

%将灰度图进行直方图均衡化,显示均衡化后的图像并绘制直方图;

subplot(437),D=histeq(A);imshow(D),title('原图均衡化');

subplot(438),E=histeq(B);imshow(E),title('灰度图均衡化');

subplot(4,3,10),imhist(D),title('均衡后原图直方图');

subplot(4,3,11),imhist(E),title('均衡后灰度直方图');

%对灰度图像分别加入高斯噪声和椒盐噪声,显示加噪后的图像并绘制其直方图;

figure,

F=imnoise(B,'salt & pepper',0.06);

G=imnoise(B,'gaussian',0,0.01);

subplot(221),imshow(F),title('加椒盐噪声');

subplot(222),imshow(G),title('高斯噪声');

subplot(223),imhist(F),title('加椒盐噪声噪声后的直方图');

subplot(224),imhist(G),title('加高斯噪声后的直方图');

%对加噪后的图像进行均值滤波和中值滤波,显示滤波后的图像并绘制直方图;H=fspecial('average',3);

H1=filter2(H,F)/255;%椒盐

I=fspecial('average',3);

I1=filter2(I,G)/255;%高斯

J=medfilt2(F,[3,5]);%椒盐

K=medfilt2(G,[3,5]);%高斯

L=fspecial('average',5);

L1=filter2(L,G)/255;

M=fspecial('average',7);

M1=filter2(M,G)/255;

N=fspecial('average',9);

N1=filter2(N,G)/255;

figure,

subplot(331),imshow(H1),title('椒盐噪声的3*3均值滤波')

subplot(332),imshow(I1),title('高斯噪声的3*3均值滤波')

subplot(334),imshow(J),title('椒盐噪声的中值滤波')

subplot(335),imshow(K),title('高斯噪声的中值滤波')

subplot(333),imshow(L1),title('高斯噪声的5*5均值滤波')

subplot(336), imshow(M1), title('高斯噪声的7*7均值滤波')

subplot(339),imshow(N1),title('高斯噪声的9*9净值滤波')

subplot(337),imhist(I1),title('高斯噪声3*3均值后的直方图')

subplot(338),imhist(J),title('椒盐噪声中值后的直方图')

%对平滑后的图像再进行高通滤波-锐化,分别用prewitt算子进行边缘增强

% sobel算子进行边缘提取,显示滤波后的图像并绘制它们的直方图

%3*3窗口高斯噪声的均值滤波

O=conv2(B,I)/255;

P=fspecial('prewitt');

P1=filter2(P,O)*3;

R=fspecial('sobel');

R1=filter2(R,O)*3;

figure

subplot(231),imshow(O);title('均值后二维卷积')

subplot(232),imshow(P1);title('均值后边缘增强')

subplot(233),imshow(R1);title('均值后边缘提取')

subplot(234),imhist(O);title('均值后二维卷积直方图')

subplot(235),imhist(P1);title('均值后边缘增强直方图')

subplot(236),imhist(R1);title('均值后边缘提取直方图')

%锐化

b=double(A);s=size(b);

c=zeros(s(1,1),s(1,2));

for x=2:s(1,1)-1

for y=2:s(1,2)-1

c(x,y)=(-b(x+1,y)-b(x-1,y)-b(x,y+1)-b(x,y-1)+4*b(x,y));

end

end

figure,

subplot(131),imshow(A),title('原图')

subplot(132);imshow(c);title('Laplace锐化滤波图像');

d=b+c;d=uint8(d);

subplot(133);imshow(d);title('Laplace锐化滤波结果');3.图像处理结果

3.图像处理结果

1.选取一幅真彩色照片,将其分解成红、绿、蓝三个分量显示,并绘制直方图;

2.把彩色图像分别转化为灰度图和二值图,将其显示并绘制直方图;将灰度图进行直方图均衡化,显示均衡化后的图像并绘制直方图;

3.对灰度图像分别加入高斯噪声和椒盐噪声,显示加噪后的图像并绘制其直方图;

4.对加噪后的图像进行均值滤波和中值滤波,显示滤波后的图像并绘制直方图;

5.对平滑后的图像再进行高通滤波-锐化,分别用prewitt算子进行边缘增强sobel算子进行边缘提取,显示滤波后的图像并绘制它们的直方图;

https://www.360docs.net/doc/9111054388.html,place锐化滤波图像;

4.结果分析

一幅彩色图片可以分成R,G,B三个分量显示,因为其中每一个彩色像素点都是在特定空间位置的红、绿、蓝三个分量。在直方图可以看出,经过灰度均衡后,图像动态范围加大,使图像对比度扩展,图像更加清晰,特征更加明显;从实现算法上也可以看出,其优点主要在于能自动增强整幅图像的对比度,但只能得到全局均衡化处理的直方图。在实际应用种,往往要根据不同的要求有选择地对某灰度范围进行局部范围内的对比度增强,此时若要再采用直方图均衡就不太合适。均值滤波,对椒盐噪声的影响不大,因为在削弱噪声的同时整幅图像也变得模糊,其噪声仍然存在,采用中值滤波对加入椒盐噪声的图像处理后,结果有明显的改观;而对于高斯噪声,采用均值滤波的方法对去噪声效果明显。通过对比3*3、5*5、7*7、9*9的窗口,得出值越高去噪声后得到的图像越模糊。

(三)心得体会

数字图像是我们生活中接触图像处理后,它伴随人们的生活,学习,工作,并在军事,

工业,和医学方面发挥着很大的作用。学完之后发现图像处理必须要思路清晰,表达明确。敲代码要仔细,不然出错后很难发现。对于数学要求高,基础太弱,对一些公式会看不懂。因此,对于图像处理这方面还应该继续加强学习,打牢基础,才能有熟练掌握。数字图像的应用不仅贯通各个行业,还遍布我们生活的电子产品,这让我学习后感觉离这些产品的使用和了解更近了一步,学习数字图像处理对我们非常有用,无论以后是否从事相关工作都让我感觉受益良多。随着现代电子技术发展地越来越快,我相信图像处理技术一定会有更大的进步,从国防到娱乐,无论哪一方面都会给我们带来更多的便利。

一幅RGB图像就是彩色像素的一个3MN数组,其中每一个彩色像素点都是在特定空间位置的红、绿、蓝三个分量。由于彩色显示器采用红、绿和蓝来生成目标颜色,所以RGB颜色空间是计算机图形学最通常的选择。但是,当处理图像时,使用RGB颜色空间并不是很有效。此外,要在RGB颜色空间中生成任何一种颜色,三个RGB分量都需要占用相同的带宽。这就使得每个RGB颜色分量需要同样的像素深度和现实分辨率。

HIS颜色空间将高度分里与一幅彩色图像中携带的彩色信息分开。因此,HIS模型对于开发基于彩色描述的图像处理算法是一个理想的工具,使得图像看起来更加自然和直观。RGB 彩色图像是有三幅单色的亮度图像构成的,所以一定可以从一幅RGB图像中提取出图像的亮度信息。

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1 图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1] A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,V al1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Empty or not,Mode:lossy or lossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。 同时显示多帧图像的所有帧,可用到montage函数。

非常全非常详细的MATLAB数字图像处理技术

MATLAB数字图像处理 1 概述 BW=dither(I)灰度转成二值图; X=dither(RGB,map)RGB转成灰度图,用户需要提供一个Colormap; [X,map]=gray2ind(I,n)灰度到索引; [X,map]=gray2ind(BW,n)二值图到索引,map可由gray(n)产生。灰度图n 默认64,二值图默认2; X=graylice(I,n)灰度图到索引图,门限1/n,2/n,…,(n-1)/n,X=graylice(I,v)给定门限向量v; BW=im2bw(I,level)灰度图I到二值图; BW=im2bw(X,map,level)索引图X到二值图;level是阈值门限,超过像素为1,其余置0,level在[0,1]之间。 BW=im2bw(RGB,level)RGB到二值图; I=ind2gray(X,map)索引图到灰度图; RGB=ind2rgb(X,map)索引图到RGB; I=rgb2gray(RGB)RGB到灰度图。 2 图像运算 2.1图像的读写 MATLAB支持的图像格式有bmp,gif,ico,jpg,png,cur,pcx,xwd和tif。 读取(imread): [1]A=imread(filename,fmt) [2] [X,map]=imread(filename,fmt) [3] […]=imread(filename) [4] […]=imread(URL,…) 说明:filename是图像文件名,如果不在搜索路径下应是图像的全路径,fmt是图像文件扩展名字符串。前者可读入二值图、灰度图、彩图(主要是RGB);第二个读入索引图,map 为索引图对应的Colormap,即其相关联的颜色映射表,若不是索引图则map为空。URL表示引自Internet URL中的图像。 写入(imwrite): [1] R=imwrite(A,filename,fmt); [2] R=imwrite(X,map,filename,fmt); [3] R=imwrite(…,filename); [4] R=imwrite(…,Param1,Val1,Param2,Val2) 说明:针对第四个,该语句用于指定HDF,JPEG,PBM,PGM,PNG,PPM,TIFF等类型输出文件的不同参数。例如HDF的Quality,Compression,WriteMode;JPEG的BitDepth,Comment:Emptyor not,Mode:lossy orlossless,Quality等。 2.2 图像的显示 方法1:使用Image Viewer(图像浏览器),即运用imview函数。

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

用matlab数字图像处理四个实验

数字图像处理 实验指导书

目录 实验一MATLAB数字图像处理初步实验二图像的代数运算 实验三图像增强-空间滤波 实验四图像分割 3

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: ?亮度图像(Intensity images)

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

matlab 图像处理报告

《 MATLAB 实践》 课程设计 学生姓名: 学号: 专业班级: 指导教师: 二○○九年三月十三日

1.设计目的…………………………………………………第 3页 2.题目分析…………………………………………………第3 页 3.总体设计…………………………………………………第4 页 4.具体设计…………………………………………………第 6页 5.结果分析…………………………………………………第 20页 6.心得体会…………………………………………………第 20页 7.参考书目…………………………………………………第 20页

1 课程设计的目的: 综合运用MATLAB工具箱实现图像处理的GUI程序设计。 2、题目分析 课程设计的基本要求 1)熟悉和掌握MATLAB 程序设计方法 2)掌握MATLAB GUI 程序设计 3)学习和熟悉MATLAB图像处理工具箱 4)学会运用MATLAB工具箱对图像进行处理和分析 课程设计的内容 学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。 以下几点是程序必须实现的功能。 1)图像的读取和保存。 2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。 3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。 4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。 5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。 6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪效果。

基于MATLAB图像处理报告

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

MATLAB课程设计报告图像处理

一.课程设计相关知识综述...................................................................... 1.1 研究目的及意义 (3) 1.2 数字图像处理研究的内容........................................................... 1.3 MATLAB 软件的介绍.................................................................. 1.3.1 MATLAB 语言的特点......................................................... 1.3.2 MATLAB 图像文件格式.................................................... 1.3.3 MATLAB 图像处理工具箱简介........................................ 1.3.4 MATLAB 中的图像类型.................................................... 1.3.5 MATLAB 的主要应用........................................................ 1.4 函数介绍........................................................................................ 二.课程设计内容和要求........................................................................... 2.1 主要研究内容................................................................................ 2.2 具体要求....................................................................................... 2.3 预期达到的目标........................................................................... 三.设计过程............................................................................................... 3.1 设计方案及步骤............................................................................ 3.2 程序清单及注释........................................................................... 3.3 实验结果........................................................................................ 四.团队情况................................................................................................ 五.总结....................................................................................................... 六.参考文献............................................................................................... 一.课程设计相关知识综述. 1.1研究目的及意义

MATLAB图像处理相关函数

一、通用函数: colorbar显示彩色条 语法:colorbar \ colorbar('vert') \ colorbar('horiz') \ colorbar(h) \ h=colorbar(...) \ colorbar(...,'peer',axes_handle) getimage 从坐标轴取得图像数据 语法:A=getimage(h) \ [x,y,A]=getimage(h) \ [...,A,flag]=getimage(h) \ [...]=getimage imshow 显示图像 语法:imshow(I,n) \ imshow(I,[low high]) \ imshow(BW) \ imshow(X,map) \ imshow(RGB)\ imshow(...,display_option) \ imshow(x,y,A,...) \ imshow filename \ h=imshow(...) montage 在矩形框中同时显示多幅图像 语法:montage(I) \ montage(BW) \ montage(X,map) \ montage(RGB) \ h=montage(...) immovie 创建多帧索引图的电影动画 语法:mov=immovie(X,map) \ mov=immovie(RGB) subimage 在一副图中显示多个图像 语法:subimage(X,map) \ subimage(I) \ subimage(BW) \ subimage(RGB) \ subimage(x,y,...) \ subimage(...) truesize 调整图像显示尺寸 语法:truesize(fig,[mrows mcols]) \ truesize(fig) warp 将图像显示到纹理映射表面 语法:warp(X,map) \ warp(I ,n) \ warp(z,...) warp(x,y,z,...) \ h=warp(...) zoom 缩放图像 语法:zoom on \ zoom off \ zoom out \ zoom reset \ zoom \ zoom xon \ zoom yon\ zoom(factor) \ zoom(fig,option) 二、图像文件I/O函数命令 imfinfo 返回图形图像文件信息 语法:info=imfinfo(filename,fmt) \ info=imfinfo(filename) imread 从图像文件中读取(载入)图像 语法:A=imread(filename,fmt) \ [X,map]=imread(filename,fmt) \

最常用的matlab图像处理的源代码

最常用的一些图像处理Matlab源代 码 #1:数字图像矩阵数据的显示及其傅立叶变换 #2:二维离散余弦变换的图像压缩 #3:采用灰度变换的方法增强图像的对比度 #4:直方图均匀化 #5:模拟图像受高斯白噪声和椒盐噪声的影响 #6:采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波 #7:采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 #8:图像的自适应魏纳滤波 #9:运用5种不同的梯度增强法进行图像锐化 #10:图像的高通滤波和掩模处理 #11:利用巴特沃斯(Butterworth)低通滤波器对受噪声干扰的图像进行平滑处理 #12:利用巴特沃斯(Butterworth)高通滤波器对受噪声干扰的图像进行平滑处理 1.数字图像矩阵数据的显示及其傅立叶变换 f=zeros(30,30); f(5:24,13:17)=1; imshow(f, 'notruesize'); F=fft2(f,256,256); % 快速傅立叶变换算法只能处矩阵维数为2的幂次,f矩阵不 % 是,通过对f矩阵进行零填充来调整 F2=fftshift(F); % 一般在计算图形函数的傅立叶变换时,坐标原点在 % 函数图形的中心位置处,而计算机在对图像执行傅立叶变换 % 时是以图像的左上角为坐标原点。所以使用函数fftshift进 %行修正,使变换后的直流分量位于图形的中心; figure,imshow(log(abs(F2)),[-1 5],'notruesize');

2 二维离散余弦变换的图像压缩I=imread('cameraman.tif'); % MATLAB自带的图像imshow(I); clear;close all I=imread('cameraman.tif'); imshow(I); I=im2double(I); T=dctmtx(8); B=blkproc(I,[8 8], 'P1*x*P2',T,T'); Mask=[1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2=blkproc(B,[8 8],'P1.*x',Mask); % 此处为点乘(.*) I2=blkproc(B2,[8 8], 'P1*x*P2',T',T); figure,imshow(I2); % 重建后的图像 3.采用灰度变换的方法增强图像的对比度I=imread('rice.tif'); imshow(I); figure,imhist(I); J=imadjust(I,[0.15 0.9], [0 1]); figure,imshow(J); figure,imhist(J);

matlab与图像处理

关于MATLAB在数字图像复原技术中应用的文献综述 摘要:图像复原技术在图像处理领域中具有非常重要的地位,该技术能够最大程度地恢复图像的本来面貌图像复原技术的重点在于找出导致图像失真的原因,并针对该原因对失真图像进行反处理,以此来获取清晰的图像。文本对四个图像复原算法(维纳滤波算法;约束最小二乘(正则)滤波算法;迭代非线性复原算法;盲解卷积算法)的图像复原原理进行了说明,同时对上述算法进行了仿真实现,并分析了实验的结果。通过仿真出来的结果,我们可以很清楚的看出维纳滤波算法所得到的复原图像比较清晰,但盲解卷积算法在同一情况下得到的复原图像就不太理想。然而,在不知道失真信息的情况下应用盲解算法恢复图像就会得到比较好的效果。本文在对相关图像复原技术文献资料搜集及整理基础上进行梳理及归纳。 关键词:数字图像处理;图像复原;MATLAB 随着计算机技术的迅猛发展,人们对数字图像的依赖日益增强。但是由于设备或环境等因素的影响,我们有时候无法得到令人满意的清晰图像。这时就需要图像复原技术对降晰的图像进行处理。具体来说,就是找出导致图像降晰的机制,并针对该机制对图像进行反处理,最终获得清晰的图像。[1] 数字图像在获取的过程中,由于光学系统的像差、光学成像衍射、成像系统的非线性畸变、摄影胶片的感光的非线性、成像过程的相对运动、大气的湍流效应、环境随机噪声等原因,图像会产生一定程度的退化.因此,必须采取一定的方法尽可能地减少或消除图像质量的下降,恢复图像的本来面目,这就是图像复原,也称为图像恢复。 图像复原是试图利用退化过程的先验知识使已退化的图像恢复本来面目,即根据退化的原因,分析引起退化的环境因素,建立相应的数学模型,并沿着使图像降质的逆过程恢复图像。[2] 文献的梳理与归纳: (一)数字图像处理的复原[3] 下面介绍一些图像复原的背景,包括进行图像复原的原因和图像复原模型两个方面的内容。 1、影响图像质量的原因 影响图像质量的因素主要有下面一些: 1、图像捕获过程中镜头发生了移动,或者暴光时间过长; 2、场景位于焦距以外、使用了广角镜、大气干扰或短时间的暴光导致捕获到的光子 减少; 3、供焦显微镜中出现散光变形。 2、图像复原模型 一幅质量改进或退化的图像可以近似地用方程g=Hf+n表示,其中g为图像,H为变形算子,又称为点扩散函数(PSF),f为原始的真实图像,n为附加噪声,它在图像捕获过程中产生并且是图像质量变坏。 上面的模型中,PSF是一个很重要的因素,它的值直接影响到复原后图像的质量。由于许多种退化都可以用线性的位移不变模型来近似,这样可以把线性系统种的许多数学

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

基于MATLAB图像处理报告

基于MATLAB图像处理报告 一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 3.1、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 3.2、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载

数字图像处理 MATLAB代码

MATLAB实用源代码 图像读取及灰度变换 I=imread('cameraman.tif');%读取图像 subplot(1,2,1),imshow(I)%输出图像 title('原始图像')%在原始图像中加标题 subplot(1,2,2),imhist(I)%输出原图直方图 title('原始图像直方图')%在原图直方图上加标题 图像旋转 I=imread('cameraman.tif'); figure,imshow(I); theta=30; K=imrotate(I,theta);%Try varying the angle,theta. figure,imshow(K) 边缘检测 I=imread('cameraman.tif'); J1=edge(I,'sobel'); J2=edge(I,'prewitt'); J3=edge(I,'log'); subplot(1,4,1),imshow(I); subplot(1,4,2),imshow(J1); subplot(1,4,3),imshow(J2); subplot(1,4,4),imshow(J3); 1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1);%图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on;%显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]);

基于Matlab的遥感图像处理

基于Matlab的遥感图像处理 测绘工程1161641014 鲍家顺 摘要文章运用Matlab软件对遥感影像的不足之处进行处理改善,详细介绍了处理方法和处理的原理,对处理结果进行了比对分析,并进行了边缘检测与特征提取,论证了处理方法的可行性。 关键词图像处理;matlab ;均衡化;规定化;色彩平衡;边缘检测;特征提取 在获取遥感图像过程中,由于多种因素的影响,会导致图像质量的退化,为了改善图像质量,突出遥感图像中的某些信息,提高图像的视觉效果,需要对图像进行各方面的处理,如分段线形拉伸,对数变换,直方图规定化、正态化,图像滤波,纹理分析及目标检测等。通过图像处理可以去除图像中的噪声,增强感兴趣的目标和周围背景图像间的反差,有选择地突出便于人或电脑分析的信息,抑制一些无用的信息,强调出图像的边缘,增强图像的识别方便性,从而进行边缘检测和特征提取。图像写出函数,显示图像函数有image ( ) 、inshow ( ) 等。[2 ]Matlab 图像处理工具箱处理工具提供了imhist () 函数来计算和显示图像的直方图, 提供了直方图均衡化的函数histeq() 、边缘检测函数edge ( ) 、腐蚀函数imerode () 、膨胀函数imdilate () 及二值图像转换函数im2bw () 等。文中实验数据采用的是桂林市区灰度遥感图像,宽度为1024 像素,高度为713 像素。 文件读入: 讲workspace切入到图片所在图层: Cd d:\ 读入图片: [x,cmap]=imread('m.PNG'); %将图片读入转换为矩阵 clf;imshow(x); %显示图片 原始图片

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

相关文档
最新文档