非常全非常详细的MATLAB数字图像处理技术
- 格式:doc
- 大小:382.50 KB
- 文档页数:18
第一部分数字图像处理实验一图像的点运算实验1.1直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif’);%读取图像subplot(1,2,1),imshow(I) %输出图像title(’原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1。
启动matlab双击桌面matlab图标启动matlab环境;2。
在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布.(a)原始图像(b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像.I=imread('cameraman.tif’);%读取图像subplot(2,2,1),imshow(I) %输出图像title(’原始图像’) %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title(’原始图像直方图’) %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title(’均衡化后图像’) %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图’)%在均衡化后直方图上加标题四.实验步骤1。
利用Matlab进行图像处理的常用方法概述:图像处理是数字信号处理的一个重要分支,也是计算机视觉领域的核心内容之一。
随着计算机技术的不断发展,利用Matlab进行图像处理的方法变得越来越重要。
本文将介绍一些常用的Matlab图像处理方法,包括图像的读取与显示、图像的预处理、图像的滤波处理、基本的图像增强方法以及图像的分割与检测等。
一、图像的读取与显示在Matlab中,可以使用imread函数直接读取图像。
通过指定图像的路径,我们可以将图像读取为一个矩阵,并且可以选择性地将其转换为灰度图像或彩色图像。
对于灰度图像,可以使用imshow函数将其显示出来,也可以使用imwrite函数将其保存为指定格式的图像文件。
对于彩色图像,可以使用imshow函数直接显示,也可以使用imwrite函数保存为指定格式的图像文件。
此外,还可以使用impixel函数获取图像中指定像素点的RGB值。
二、图像的预处理图像的预处理是指在进一步处理之前对图像进行调整和修复以消除图像中的噪声和不良的影响。
常用的图像预处理方法包括图像的平滑处理、图像增强和图像修复等。
1. 图像平滑处理:常用的图像平滑方法有均值滤波、中值滤波和高斯滤波等。
其中,均值滤波将每个像素点的值替换为其周围像素点的平均值,中值滤波将每个像素点的值替换为其周围像素点的中值,高斯滤波则通过加权平均的方式平滑图像。
2. 图像增强:图像增强是指通过一些方法提高图像的质量和信息内容。
常用的图像增强方法包括直方图均衡化、对比度拉伸和锐化等。
直方图均衡化通过调整图像的灰度分布,以提高图像的对比度和细节。
对比度拉伸是通过将图像的像素值线性拉伸到整个灰度范围内,以增强图像的对比度。
锐化则是通过增强图像的边缘和细节,使图像更加清晰。
三、图像的滤波处理图像的滤波处理是指通过对图像进行一系列滤波操作,来提取图像中的特征和信息。
常用的图像滤波方法包括模板滤波、频域滤波和小波变换等。
1. 模板滤波:模板滤波是基于局部像素邻域的滤波方法,通过定义一个滤波模板,将其与图像进行卷积操作,从而实现图像的滤波。
第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。
三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。
(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。
实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。
I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。
MATLAB图像处理入门指南第一章:MATLAB图像处理基础知识在这个章节中,我们将介绍MATLAB图像处理的基础知识。
首先,我们会简要介绍MATLAB是什么以及它在图像处理领域的应用。
然后,我们会介绍图像的表示和存储方式,包括灰度图像和彩色图像。
接着,我们会介绍MATLAB中常用的图像处理函数,并通过一些实例演示它们的使用方法。
第二章:MATLAB图像的读取和显示这一章节将详细介绍如何在MATLAB中读取和显示图像。
首先,我们会介绍MATLAB中读取图像的函数,并举例说明如何读取不同格式的图像文件。
然后,我们会详细介绍如何显示图像,并演示一些常用的图像显示函数的使用方法。
最后,我们会介绍如何在MATLAB中保存处理后的图像。
第三章:MATLAB图像的基本操作在这一章节中,我们将学习MATLAB中图像的基本操作。
首先,我们会介绍如何对图像进行裁剪、旋转和缩放等基本操作,以及如何调整图像的对比度和亮度。
接着,我们会介绍如何进行图像的平移和镜像操作。
最后,我们会介绍如何在图像上绘制几何图形和文本。
第四章:MATLAB图像的滤波处理这一章节将介绍MATLAB中图像的滤波处理方法。
首先,我们会介绍图像的平滑处理,包括均值滤波和高斯滤波等方法。
然后,我们会介绍图像的锐化处理,包括拉普拉斯滤波和Sobel滤波等方法。
接着,我们会介绍图像的边缘检测方法,包括Canny边缘检测和Sobel边缘检测等方法。
最后,我们会介绍图像的噪声去除方法,包括中值滤波和小波降噪等方法。
第五章:MATLAB图像的特征提取和目标识别这一章节将介绍MATLAB中图像的特征提取和目标识别方法。
首先,我们会介绍图像的特征提取方法,包括灰度共生矩阵、方向梯度直方图和尺度不变特征变换等方法。
然后,我们会介绍图像的目标识别方法,包括模板匹配和基于特征向量的目标识别等方法。
接着,我们会介绍MATLAB中常用的目标识别工具箱,并演示其使用方法。
第六章:MATLAB图像的分割和重建这一章节将介绍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 函数。
改变显示大小:imview (X,map,’IntialMagnificatition ’,’fit ’), IntialMagnificatition 默认值为100,即100%显示,设置为fit 则全屏显示。
关闭:imview close all 。
Image Viewer 还提供了三个工具:全景查看窗口(导航功能)、像素区域工具、图像信息窗口。
方法2:使用图形图像视窗,即运用imshow 函数。
调用truesize 函数来设定图像到屏幕像点的映射关系。
可以运用getimage 函数来将当前显示的图像赋值给一个变量。
调用格式:
[1] imshow(I,n);\\n 为灰度级
[2] imshow(I,[low,high]);\\指定I 的数据范围
[3] imshow(BW);\\显示二值图像BW ,0为黑色,1为白色
[4] imshow(X,map);\\索引图像
[5] imshow(RGB);
[6] imshow(…,display_option);\\显示图像的方式,选择‘notruesize ’或者‘turesize ’
[7] imshow(x,y,A,…);\\x,y 建立非默认的空间坐标系统
[8] imshow filename;
[9] h=imshow(…)\\h 表示被显示图像的句柄
2.3 图像的代数运算
[1] 相加(imadd ):
Z=imadd(X,Y)\\存为8位;
Z=imadd(X,Y,’uint 16’)\\存为16位。
[2] 求补(imcomplement ):
IM2=imcomplement(IM1)。
[3] 减法(imsubtract 或者imabsdiff ):
Z=imsubtract(X,Y)\\差值结果小于0的赋值为0;
Z=imabsdiff(X,Y)\\ 差值结果取绝对值。
[4] 乘法(immultiply ):
Z=immultiply(X,Y)。
[5] 除法(imdivide ):
Z=imdivide(X,Y)。
2.4 点运算
灰度变换函数GST :B(x,y)=f[A(x,y)]。
其中有:
[1]线性点运算B ()f A A αβ==+;
[2]非线性点运算;
[3]直方图修正。
2.5 图像的集合运算
改变大小imresize :Y=imresize(X,M,method),其中M 为放大的倍数,method 有如下几
种插值方式nearest,bilinear,bicubic。
也可以规定输出图像大小,[heng,zong]。
图像旋转imrotate:Y=imrotate(X,angle,method,’crop’),angle表示逆时针旋转,method 同imresize的用法,crop表示将旋转以后的图像取与原图像大小相同的中心部分取出。
比例缩放imresize:同改变大小。
空间变换imtransform:B=imtransform(A,TFORM,param1,val1,param2,val2),其中TFORM为makeform或者cp2tform产生的结果。
如TFORM=makeform(transformtype,…),
MATLAB中还提供了很多空间变换的工具,如:fliptform,fgormfwd,tforminv,findounds,makereample,tformarray,imtransform等。
2.6 图像的领域和块操作
领域操作分为滑动领域和分离领域两类。
滑动领域函数nlfilter,用法如下:
[1] B=nlfilter(A,[m n],fun)\\[m n]表示滑动领域m*n,fun为图像领域上的处理函数;
[2] B=nlfilter(A,[m n],fun,P1,P2,…)\\可以传递参数P1,P2,…给函数fun;
[3] B=nlfilter(A,’indexed’)\\把图像作为索引色图像处理,double填补1,uint8补0。
而且fun可以是一个函数句柄或是一个内联函数,返回类型由fun决定。
但是nlfilter 处理时可能需要很长时间,这时可是考虑使用快速处理函数colfilt。
用法类似,多一个参数bldck_tpye,表示块的移动方式,有distinc t和sliding两个取值,前者表示分离块操作,后者表示滑动块操作。
而且有[mblock nblock]表示图像块的大小。
分离块操作是将图像划分为大小相同的矩形区域,不同图像块在图像中无重叠排列,其顺序从左上角开始,不足的地方可以在右下角补0。
函数为blkproe,调用格式和nlfilter类似。
2.7 几何畸形校正和图像配准
用到函数imtransform。
3 MATLAB二维与三维图形绘制及动画
3.1 基本绘图命令。