数字图像处理第二章 MATLAB中图象工具箱及图象
Matlab图像处理工具箱使用简介
三天三夜72小时:(2015.9.11~13)读懂题目-》查找文献资料-》选择题目-》重查找文献资料-》精读其中几篇-》查找资料的资料。
(资料查找+现学现用)要想竞赛获奖,所写论文中需要亮点和特色。
参考资料:《Matlab图像处理与应用》高成主编,2007.04 校超星数字图书馆可阅读。
Matlab图像处理工具箱使用简介基本概念:数字图像指的是一个被采样和量化后的二维函数,采用等距离矩形网格采样,对幅度进行等间量化而成。
至此,一幅数字图像是一个被量化的采样数值的二维矩阵。
将一幅二维的图像通过有限个离散点来表示就成为了数字图像,其中的每个点称为图像元素,即像素。
数字图像处理图像处理:图像输入→图像增强/复原/编码等→图像输出图像识别:图像输入→图像预处理→图像分割→特征提取→图像分类→识别结果输出图像理解:图像输入→图像预处理→图像描述→图像分析和理解→图像解释图像处理算法被认作数学建模十大算法之一。
学、信息论、控制论、物理学、心理学和生理学等学科的一门综合性边缘科学。
随着计算机科学的迅猛发展,以及与近代发展的新理论如小波分析、马尔柯夫随机场、分形学、数学形态学、人工智能和人工神经网络等的结合,计算机图像处理与分析近年来获得了长足的进展,呈现出强大的生命力。
已在科学研究、工农业生产、军事技术、医疗卫生、教育等许多领域得到广泛应用,产生了巨大的经济和社会效益,对推动社会发展,改善人们生活水平都起到了重要的作用。
计算机图像处理的应用领域计算机图像处理和计算机、多媒体、智能机器人、专家系统等技术的发展紧密相关。
近年来计算机识别、理解图像的技术发展很快,也就是图像处理的目的除了直接供人观看(如医学图像是为医生观看作诊断)外,还进一步发展了与计算机视觉有关的应用,如邮件自动分检,车辆自动驾驶等。
下面罗列—些典型应用实例,而实际应用更广。
1.在生物医学中的应用主要包括显微图像处理;DNA显示分析;红、白血球分析计数;虫卵及组织切片的分析;癌细胞识别;染色体分析;心血管数字减影及其他减影技术;内脏大小形状及异常检测;微循环的分析判断;心脏活动的动态分析;热像、红外像分析;x光照片增强、冻结及伪彩色增强;超声图像成像、冻结、增强及伪彩色处理;CT、MRI、γ射线照相机、正电子和质子CT的应用;专家2.遥感航天中的应用军事侦察、定位、导航、指挥等应用;多光谱卫星图像分析,地形、地图、国土普查;地质、矿藏勘探;森林资源探查、分类、防火;水利资源探查,洪水泛滥监测;海洋、渔业方面如温度、渔群的监测、预报;农业方面如谷物估产、病虫害调查;自然灾害、环境污染的监测,气象、天气预报图的合成分折预报;天文、太空星体的探测及分析;交通、空中管理、铁路选线等。
使用MATLAB进行图像处理的基本方法
使用MATLAB进行图像处理的基本方法第一章:介绍MATLAB图像处理工具箱MATLAB是一种用于算法开发、数据可视化和数值计算的高级工具。
图像处理是MATLAB中重要的应用之一,其图像处理工具箱提供了许多功能强大的函数和工具,能够完成各种图像处理任务。
1.1 图像处理基础图像处理是通过计算机对图像进行分析、处理和改变的过程。
它可以用于增强图像的质量、从图像中提取有用的信息或特征,以及实现图像的压缩和恢复等任务。
1.2 MATLAB图像处理工具箱的功能MATLAB图像处理工具箱提供了丰富的函数和工具,包括图像读取和写入、图像增强、图像分割、图像滤波、图像变换等。
这些功能可以帮助用户对图像进行各种处理和分析。
第二章:图像预处理图像预处理是图像处理的第一步,其目的是消除图像中的噪声和其他不必要的信息,使后续的处理更加准确和有效。
2.1 图像读取和显示在MATLAB中,可以使用imread函数读取图像,imshow函数显示图像。
读取图像后,可以对图像进行显示、调整亮度和对比度等操作。
2.2 图像增强图像增强是通过对图像的像素值进行调整,改善图像的视觉质量。
常用的图像增强方法有直方图均衡化、对比度拉伸和滤波等。
第三章:图像分割图像分割是将图像划分成若干个具有独立意义的部分的过程。
图像分割可以帮助我们识别并提取出感兴趣的目标,进行后续的处理和分析。
3.1 基于阈值的图像分割阈值分割是一种简单且有效的图像分割方法,其思想是将图像中的像素分成前景和背景两部分。
MATLAB提供了imbinarize函数用于阈值分割。
3.2 基于边缘的图像分割边缘分割基于图像中物体的边界特征,通过检测图像中的边缘来实现图像分割。
MATLAB中的边缘检测函数包括edge和gradient。
第四章:图像滤波图像滤波是对图像进行平滑或增强处理的过程,它可以帮助去除图像中的噪声、增强图像的边缘和细节等。
4.1 线性滤波线性滤波是一种基于加权和求和的滤波方法,常用的线性滤波器有均值滤波器和高斯滤波器等。
数字图像处理实验Matlab及其图像处理工具箱的使用
实验一 Matlab及其图像处理工具箱的使用一、实验目的与要求1.熟悉常用图像的格式和类型。
2.熟练掌握在MATLAB中如何读取和保存图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何进行图像间转化。
5.掌握如何实时获取USB2.0摄像头采集的视频图像。
二、实验内容及步骤1.利用imread函数读取一幅图像,设名为cameraman.tif,存入一个数组中;I=imread(‘cameraman.tif’); % 读入原图像,tif格式2.利用whos 命令提取该读入图像cameraman.tif的基本信息;whos I;%显示图像I的基本信息3.利用imshow()函数来显示这幅图像;imshow(I) %显示图像前三步综合程序:>> I=imread('cameraman.tif');>> whos IName Size Bytes Class AttributesI 256x256 65536 uint8>> imshow(I)步骤三图像:4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;程序:>> imfinfo cameraman.tifans =Filename:'D:\Program Files\MA TLAB\R2009a\toolbox\images\imdemos\cameraman.tif'FileModDate: '04-十二月-2000 13:57:54'FileSize: 65240Format: 'tif'FormatV ersion: []Width: 256Height: 256BitDepth: 8ColorType: 'grayscale'FormatSignature: [77 77 42 0]ByteOrder: 'little-endian'NewSubFileType: 0BitsPerSample: 8Compression: 'PackBits'PhotometricInterpretation: 'BlackIsZero'StripOffsets: [8x1 double]SamplesPerPixel: 1RowsPerStrip: 32StripByteCounts: [8x1 double]XResolution: 72YResolution: 72ResolutionUnit: 'None'Colormap: []PlanarConfiguration: 'Chunky'TileWidth: []TileLength: []TileOffsets: []TileByteCounts: []Orientation: 1FillOrder: 1GrayResponseUnit: 0.0100MaxSampleV alue: 255MinSampleV alue: 0Thresholding: 1Offset: 64872ImageDescription: [1x112 char]5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
MATLAB图形图像处理2课件
• imfilter是用来实现线性空间滤波的函数,其基本语法格式 为:
• hp = imfilter(p, w, filter_mode, boundary_options, size_options)
• 其中hp为经过滤波后输出的图像,p为原图像,参数w为滤 波模板,filter_mode指定滤波过程中使用相关核(corr)还 是卷积核(conv)。boundary_options控制边界填充方式为 边界复制(replicate)、边界循环(circular)还是边界对 称(symmetric)。size_options可以为same或者full两者之 一。如 hp = imfilter(p, w, ’replicate’)
• subplot(1,3,3);imshow(p2);
• 图3.33 拉普拉斯波和高斯-拉普拉斯滤波((a)原 图像;(b)拉普拉斯滤波后图像;(c)高斯-拉普拉 斯滤波后图像)
3.7 图像的空间变换
• 图像的空间变换也称为图像的几何变 换,是指将用户获得或设计的原始图像, 按照需要产生大小、形状和位置的变化。 图像几何变换是图像显示技术中的一个重 要组成部分,常用的图像几何变换主要包 括图像的缩放、图像的剪切及图像的旋转 等内容。
• p = imread('football.jpg');
• I = rgb2gray(p);
• imhist(I);
3.5.3直方图均衡化
• 通过直方图均衡化做适当的调整,即把一幅已知灰 度概率分布图像中的像素灰度做某种映射变换,使 它变成一幅具有均匀概率分布的新图像,使图像视 觉效果更加清晰。
• imnoise是MATLAB提供的图像噪声模拟函数,其 基本语法格式为:
数字图像处理及MATLAB实现[杨杰][电子教案]第二章
距离 像素之间的联系常与像素在空间的接近程度有 关。像素在空间的接近程度可以用像素之间的距 离来度量。为测量距离需要定义距离度量函数。 给定 p, q, r 三个像素,其坐标分别为 ( x, y ), ( s, t ), (u , v) 如果 1) D ( p, q ) ≥ 0( D ( p, q ) = 0 当且仅当 p = q ) 2) D ( p, q ) = D ( q, p ) 3) D ( p, r ) ≤ D ( p, q ) = D (q, r ) 则 D是距离函数或度量。
p 和 q 之间的欧式距离定义为:
De ( p, q) = ( x − s)2 + ( y − t )2
p 和 q 之间的 D4距离(也叫城市街区距离)定义为:
D4 ( p , q ) = x-s + y-t
p 和 q 之间的 D8 距离(也叫棋盘距离)定义为:
D8 ( p, q )=max( x-s , ) y-t
图像获取即图像的数字化过程,包括扫描、 图像获取即图像的数字化过程,包括扫描、 采样和量化。 采样和量化。 图像获取设备由5个部分组成 采样孔, 个部分组成: 图像获取设备由 个部分组成:采样孔, 扫描机构,光传感器, 扫描机构,光传感器,量化器和输出存储 体。 关键技术有:采样——成像技术;量化 成像技术; 关键技术有:采样 成像技术 量化— —模数转换技术。 模数转换技术。 模数转换技术
Sampling
图像的采样
图2.15图像的采样示例 图像的采样示例
Quantization 图像的量化
图2.16图像的量化示例 图像的量化示例
量化等级越多,所得图像层次越丰富, 量化等级越多,所得图像层次越丰富,灰度 分辨率高,图像质量好,但数据量大; 分辨率高,,图像层次欠丰富,灰度分辨 量化等级越少,图像层次欠丰富, 率低,会出现假轮廓现象,图像质量变差, 率低,会出现假轮廓现象,图像质量变差, 但数据量小. 但数据量小
数字图像处理及应用(MATLAB)第2章习题答案
7.平均值说明f (x ,y )的平均值等于其傅里叶变换F (u ,v )在频率原点的值F (0,0)。
2-3证明离散傅里叶变换的频率位移和空间位移性质。
证明:)(2101),(1),(NvyM ux j M x N y e y x f MN v u F +--=-=∑∑=π),(),(1),(100)(21010)(2)(21010000v v u u F dxdy ey x f MNe ey x f MN y Nv v x M u u j M x N y N yv M x u j Nvy M ux j M x N y --==-+---=-=++--=-=∑∑∑∑πππ因为()()v u F y x f ,,⇔ 所以 ),(),(00)(200v v u u F e y x f N y v M x u j --⇔+π2-4小波变换是如何定义的?小波分析的主要优点是什么?小波之所以小,是因为它有衰减性,即是局部非零的;而称为波,则是因为它有波动性,即其取值呈正负相间的振荡形式,将)(2R L 空间的任意函数f (t )在小波基下展开,称其为函数f (t )的连续小波变换。
小波变换是时间(空间)频率的局部化分析,它通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分,能自动适应时频信号的要求从而可聚焦到信号的任意细节,解决了Fourier 变换的困难问题。
2-5 在图像缩放中,采用最近邻域法进行放大时,如果放大倍数太大,可能会出现马赛克效应,这个问题有没有办法解决,或者有所改善。
可以利用线性插值法,当求出的分数地址与像素点不一致时,求出周围四个像素点的距离比,根据该比率, 由四个邻域的像素灰度值进行线性插值。
2-6 复合变换的矩阵等于基本变换的矩阵按顺序依次相乘得到的组合矩阵。
即,T=T N T N-1…T 1。
问矩阵顺序的改变能否影响变换的结果。
矩阵顺序的改变不会影响变换的结果。
数字图像处理第二章 MATLAB中图象工具箱及图象
1.5图像分析
1.
EDGE函数 该函数用于找出灰度图的边缘。该函数的输入是灰度 图,返回一个同样大小的二值图。边缘处为1,其他地 方为 0 。该函数支持 Sobel, Prewitt, Roberts, Laplacian, Zero-cross, Canny六种不同的算子。 例如使用Prewitt和Canny算子找出lena.bmp的边缘。 I=imread(„lena.tif‟); BW1=edge(I,‟prewitt‟); BW2=edge(I,‟canny”); imshow(BW1) figure, imshow(BW2)
格式 IMAGE(RGB). 用于显示真彩色图像。
格式 IMAGE(X,MAP). 显示索引图 X 及其
调色板MAP。 格式 IMSHOW(FILENAME). 显示存储于 图形文件FILENAME中的图像。 H=IMSHOW(…).返回图像对象的句柄。
5.SUBIMAGE函数
格式SUBIMAGE(X,MAP).用来显示当前坐标中
第一节 MATLAB中图象工具箱
1.1图像文件读写 1.imread函数 该函数用于从图形文件中读出图像。格式
A=IMRAED(FILENAME,FMT)。该函数把FILENAME 中的图像读到A中。若文件包含一个灰度图,则为二维矩 阵。若文件包含一个真彩图(RGB),则A为一三维矩阵。 FILENAME指明文件,FMT指明文件格式。格式 [X,MAP]=IMREAD(FILENAME,FMT).把FILENAME中 的索引图读入X,其相应的调色板读到MAP中.图像文件 中的调色板会被自动在范围[0,1]内重新调节。FMT的可 能取值为jpg或jpeg,tif或tiff,bmp,png,hdf,pcx,xwd。
MATLAB图像处理技术详解
MATLAB图像处理技术详解第一章:引言图像处理是数字图像的处理和分析,是一门广泛应用于许多领域的学科。
而MATLAB作为一种强大的数学工具和编程语言,提供了丰富的图像处理函数和工具箱,可以方便地进行图像处理和分析。
本文将对MATLAB图像处理技术进行详细的解析和讲解,包括图像读取、图像显示、图像变换、图像增强、图像滤波、图像分割和图像识别等方面。
第二章:图像读取在MATLAB中,我们可以使用imread函数来读取图像。
该函数可以读取各种常见的图像格式,如JPEG、PNG、BMP等。
通过指定图像的路径和文件名,我们就可以将图像加载到MATLAB的内存中进行后续处理。
在读取图像时,我们还可以指定读取的通道数、数据类型以及校正图像的顺序等。
本章将详细介绍如何使用MATLAB读取图像,并对其参数进行解析和说明。
第三章:图像显示在读取图像后,我们可以使用imshow函数来显示图像。
该函数可以将图像以指定的大小和颜色映射方式显示在MATLAB的窗口中。
除了基本的图像绘制功能外,imshow还提供了一系列的显示选项,包括对比度调整、亮度调整、色彩映射等。
本章将详细介绍如何使用imshow函数来显示图像,并介绍其常用的显示选项。
第四章:图像变换图像变换是图像处理的重要步骤之一,可以通过不同的数学变换来改变图像的特征和表示方式。
在MATLAB中,我们可以使用多种变换函数来实现图像的平移、缩放、旋转、翻转等操作。
此外,MATLAB还提供了傅里叶变换和小波变换等高级变换函数,可以在频域上对图像进行分析和处理。
本章将详细介绍MATLAB中常用的图像变换函数和使用方法,并结合示例代码进行演示。
第五章:图像增强图像增强是通过调整图像的亮度、对比度、色彩和细节等,使图像具有更好的视觉效果和可读性。
在MATLAB中,我们可以使用一系列的增强函数和滤波器来改善图像的质量和细节。
例如,imadjust函数可以通过对灰度图像进行亮度和对比度的调整,来增强图像的视觉效果;而imsharpen函数可以通过锐化滤波器来提高图像的细节和清晰度。
Matlab数字图像处理-02-PPT课件
可选参数’nothinning’,指定时可以通过跳过边缘细化算法来加快算法 运行的速度。默认是’thinning’,即进行边缘细化。 2)、基于高斯-拉普拉斯算子的边缘检测
BW=edge(I,’log’,thresh,sigma)
sigma指定生成高斯滤波器所使用的标准差。默认时,标准差为2。滤 镜大小n*n,n的计算方法为:n=ceil(sigma*3)*2+1。
/5、频率域图像增强 一、傅里叶变换
I=fft2(x);%快速傅里叶变换 I=fft2(x,m,n);
x为输入图像;m和n分别用于将x的第一和第二维规整到指定的长度。 当m和n均为2的整数次幂时算法的执行速度要比m和n均为素数时快。
I1=abs(I);%计算I的幅度谱 I2=angle(I);%计算I的相位谱 Y=fftshift(I);%频谱平移
高斯低通
function out = imgaussflpf(I,sigma) %imgaussflpf函数 构造高斯频域低通滤波器 [M,N] = size(I); out = ones(M,N); for i=1:M forj=1:N out(i,j) = exp(-((i-M/2)^2+(j-N/2)^2)/2/sigma^2); end end
R 1 C G 1 M B 1 Y
cmy=imcomplement(rgb);%rgb转成cmy rgb=imcomplement(cmy);cmy转成rgb
HSI模型
HIS模型是从人的视觉系统出发,直接使用颜色三要素色调 (Hue)、饱和度(Saturation)和亮度(Intensity)来描述 颜色。
桥接有单个像素缝隙分割的前景像素 清楚孤立的前景像素 围绕对角线相连的前景像素进行填充 填充单个像素的孔洞
掌握MATLAB图像处理工具箱的应用技巧
掌握MATLAB图像处理工具箱的应用技巧第一章:图像加载和保存MATLAB的图像处理工具箱提供了各种函数来加载和保存图像。
使用imread函数可以加载各种格式的图像文件,例如JPEG、PNG和BMP。
加载图像时,可以指定图像文件的路径和文件名。
加载后的图像被存储在一个矩阵中,每个像素的值可以通过索引来访问。
除了加载图像,我们也可以使用imwrite函数将处理后的图像保存为新的文件。
保存图像时,需要指定保存的路径和文件名,并且可以指定保存的图像格式。
值得一提的是,保存图像时可以选择不同的图片质量参数,以调整图像的压缩程度。
第二章:图像显示和调整MATLAB提供了各种函数来显示图像并对其进行调整。
imshow函数可以在窗口中显示图像,并且支持放大、缩小和漫游图像。
imshow还可以显示灰度图像和彩色图像。
当显示彩色图像时,imshow会自动设置调色板。
对于图像调整,可以使用imadjust函数来增强图像的对比度。
此函数可以通过调整像素值进行直方图均衡化,从而增强图像的细节。
另外,可以使用imresize函数来调整图像的大小,以适应不同的应用需求。
第三章:图像滤波和增强图像滤波是一种常见的图像处理技术。
MATLAB的图像处理工具箱提供了多种滤波函数,例如imfilter和medfilt2。
imfilter函数可以使用各种滤波器对图像进行卷积操作,实现模糊、锐化等效果。
medfilt2函数可以使用中值滤波器对图像进行去噪处理,适用于去除椒盐噪声等。
除了滤波,MATLAB还提供了多种图像增强函数。
例如,可以使用imsharpen函数对图像进行锐化处理,以增强边缘和细节。
此外,MATLAB还提供了imadjust函数来调整图像的对比度和亮度,以优化图像的视觉效果。
第四章:图像分割和边缘检测图像分割是将图像分成若干个区域的过程。
MATLAB的图像处理工具箱提供了多种图像分割算法,例如基于阈值的方法和基于边缘的方法。
数字图像处理第2章 Matlab图像处理工具箱
Matlab常用的基本命令
(3) 单位矩阵 A=eye(n): 生成n×n的单位矩阵. A=eye(m,n): 生成m×n的单位矩阵. A=eye([m,n]): 生成m×n的单位矩阵. A=eye(size(B)): 生成与矩阵B大小相同的单位矩阵.
Matlab常用的基本命令
(4) 均匀分布的随机矩阵 A=rand(n): 生成n×n的随机矩阵. A=rand(m,n): 生成m×n的随机矩阵. A=rand([m,n]): 生成m×n的全1矩阵. A=rand(a1,a2,a3,…): 生成a1×a2×a3×…的随机矩阵. A=rand(size(B)): 生成与矩阵B大小相同的随机矩阵.
3. Matlab工具箱
Matlab 工具箱是Matlab用来解决各个领域特定问 题的函数库,它是开放式的,可以应用,也可以根据 需要进行扩展. Matlab提供的工具箱为用户提供了丰富而实用的 资源,工具箱的内容非常广泛,涵盖了科学研究的很 多门类.目前,已有涉及数学,控制,通信,信号处 理,图像处理,经济,地理等多种学科的20多种 Matlab工具箱投入应用.
2.4.2 图像处理工具箱所支持的图像类型
图像处理工具箱支持4种图像类型,它们是: 真彩色图像(RGB images) 索引色图像(index images) 灰度图像(intensity images) 二值图像(binary images) 此外,Matlab还支持由多帧图像组成的图像序列.
2.2 Matlab常用的基本命令
1. 常用矩阵的生成 常用矩阵的生成 (1) 全0矩阵 A=zeros(n): 生成n×n的全0矩阵. A=zeros(m,n): 生成m×n的全0矩阵. A=zeros(a1,a2,a3,…): 生成a1×a2×a3×…的全0 矩阵. A=zeros(size(B)): 生成与矩阵B大小相同的全0矩阵.
MATLABImageProcessing图像处理入门教程
MATLABImageProcessing图像处理入门教程MATLAB图像处理入门教程第一章:图像处理基础知识图像处理是指对于数字图像进行各种操作和处理的过程。
在本章中,我们将介绍一些基础的图像处理知识。
1.1 数字图像表示数字图像是由像素组成的二维数组,每个像素表示图像中的一个点。
每个像素的值表示该点的亮度或颜色。
1.2 MATLAB中的图像表示在MATLAB中,图像可以用二维矩阵表示,其中每个元素对应一个像素的亮度或颜色值。
常见的图像格式包括灰度图像和彩色图像。
1.3 图像读取和显示使用MATLAB的imread函数可以读取图像文件,imshow函数可以显示图像。
第二章:图像预处理在进行实际的图像处理之前,通常需要对图像进行预处理,以提取感兴趣的信息或减少噪声。
2.1 图像平滑平滑操作可以减少图像中的噪声。
常见的平滑方法包括均值滤波和高斯滤波。
2.2 边缘检测边缘检测可以找到图像中的边缘区域。
常用的边缘检测算法包括Sobel算子和Canny算子。
2.3 图像分割图像分割可以将图像划分为不同的区域,以便后续的处理。
常见的图像分割算法包括阈值分割和区域生长算法。
第三章:图像增强图像增强可以提高图像的质量和清晰度,使图像更易于理解和分析。
3.1 直方图均衡化直方图均衡化可以增强图像的对比度,使图像的灰度值分布更均匀。
3.2 锐化锐化操作可以增强图像的边缘和细节。
常见的锐化算法包括拉普拉斯算子和Sobel算子。
3.3 噪声去除噪声去除可以降低图像中的噪声,使图像更清晰。
常见的噪声去除方法包括中值滤波和小波去噪。
第四章:图像分析图像分析可以从图像中提取出感兴趣的特征或对象。
4.1 特征提取特征提取可以从图像中提取出具有代表性的特征,可以用于图像分类和识别。
4.2 图像匹配图像匹配可以找到图像中相似的区域或对象。
常见的图像匹配方法包括模板匹配和特征点匹配。
4.3 图像识别图像识别可以根据图像的特征和模式来判断图像中的对象或场景。
matlab图像处理命令课件
一个像素
– 例如一幅200行300列的图像,在MATLAB中存 储为200×300大小的矩阵
– 有些图像,如RGB图像,需要三维矩阵表示, 每一维代表一种颜色
MATLAB中的图像
• MATLAB中图像数据矩阵的存储方式为: – 双精度(double)类型,即64位的浮点数 – 无符号整数(uint8) 类型
low_in
high_in
I
对比度增强
•灰度调整
J high_out
J=imadjust(I,[low_in; high_in], [low_out; high_out], gamma)
low_out 0
low_in
high_in
I
灰度的Gamma变换
y x esp
其中,x、y的取值范围为[0,1]。esp为补偿系数,r则为Gamma系数。 Gamma变换是根据r的不同取值选择性的增强低灰度区域的对比度 或者高灰度区域的对比度。
图像几何运算
• 图像的插值旋转
图像几何运算
• 图像的剪切
交互式
rect
[Xmin Ymin Width Height]
图像增强
空间域
图像 增强
频率域
点运算
区域运算
高通滤波 低通滤波 同态滤波
灰度变换 直方图修正法
平滑 锐化
彩色增强
假彩色增强 伪彩色增强 彩色变换增强
代数运算
图像增强
• 直方图增强 • 对比度增强 • 二维卷积和二维滤波 • 平滑滤波 • 锐化
h = imshow(I,[0 80]);
图像文件的显示
图像文件的显示
• RGB图像的显示 – image(RGB)
Matlab图象处理工具箱
读入、显示图象
subimage(X,map) %在一个窗口里显示多个索 引图像。 subimage(I) %在一个窗口里显示多个灰度图 像。 subimage(RGB) %在一个窗口里显示多个真彩 图像。 subimage(x,y,…) %将图像按指定的坐标(x,y) 显示. 下面的例子将显示两幅具有不同调色板的图像.
实现直方图均衡化
I2=histeq(I); figure, imshow(I2);
figure, imhist(I2);
保存图象
将新调节后的图像I2保存到磁盘中。假 设希望将该图像保存为JPG格式图像文 件,使用imwrite函数并指定一个文件名 ,该文件的扩展名为.jpg。其程序为:
保存图象
clear;close all; I=imread('rice.tif') ; imshow(I); bg=imopen(I,strel('disk', 15));
图象处理的应用例子
原始图象减去背景图象
将背景图像bg从原始图像I中减去,从而创建一个新的、背景较 为一致的图像,其程序如下:
clear; close all; I=imread('rice.tif') ; imshow(I); bg=imopen(I,strel('disk',15) ); I2=imsubtract(I,bg); figure, imshow(I2);
读入、显示图象
Imቤተ መጻሕፍቲ ባይዱead函数用于读入各种图像文件,其 语法格式为:
I=imread(‘filename.fmt’) [X,map]=imread(‘filename.fmt’) 其中参数fmt指定了图像的格式。可选的 值为cur\bmp\hdf\ico\jpg\pcx\png\tif和 xwd。默认的文件目录为当前MATLAB的 工作目录。
数字图像处理与应用(MATLAB版)第2章 matlab图像处理工具箱
例如:
如有一个名为dad.dat的文件,包含以下数据:
4529 5967 4468 6 9 51
用Matlab将此文件的数据调入工作空间并生成变量dad。语 句为:
load dad.dat %将dad.dat中的内容调入工作空间
dad
%显示变量
输出结果:
dad 4529 5967 4468 6 9 51
(4)均匀分布的随机矩阵
A=rand(n): 生成n×n的随机矩阵。 A=rand(m,n): 生成m×n的随机矩阵。 A=rand([m,n]): 生成m×n的随机矩阵。 A=rand(a1,a2,a3,…): 生成a1×a2×a3×…的随机矩阵。 A=rand(size(B)): 生成与矩阵B大小相同的随机矩阵。
2.2 Matlab常用的基本命令-简单矩阵的生成-(4)利用小矩阵生成大矩阵(含例子)
(4)利用小矩阵生成大矩阵
例:用矩阵A生成大矩阵B。
A 4529 5967 4468 6 9 51
B=[A A+32; A+48 A+16]
输出结果:
B 4 5 2 9 36 37 34 41 5 9 6 7 37 41 38 39 4 4 6 8 36 36 38 40 6 9 5 1 38 41 37 33 52 53 50 57 20 21 18 25 53 57 54 55 21 25 22 23 52 52 54 56 20 20 22 24 54 57 53 49 22 25 21 17
第二章 Matlab图像处理工具箱
内容提要
基本要求
重点难点
介绍Matlab软件 的组成,常用命 令以及图像处理 函数的功能。
了解Matlab软 件的组成,掌握 Matlab常用基 本命令的使.1 Matlab简介
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0 不是图像,A返回一个空矩阵。 1 索引图。 2 标准灰度图。 3非标准灰度图。 4 RGB图像。 例如在用 imshow 直接从文件中显示一个
图像后 , 用 getimage 直接从工作区中得到 图像数据 Imshow abc.tif X=getimage;
Image函数
例子
I=imread(„lena.tif‟);
J=imrotate(I,-3,‟bilinear‟,‟corp‟); Imshow(I),
figure,
imshow(J)
1.4 象素统计
1. COOR2函数 该函数用于计算二维相关系数。格式 R=COOR2(A,B).
第一节 MATLAB中图象工具箱
1.1图像文件读写 1.imread函数 该函数用于从图形文件中读出图像。格式
A=IMRAED(FILENAME,FMT)。该函数把FILENAME 中的图像读到A中。若文件包含一个灰度图,则为二维矩 阵。若文件包含一个真彩图(RGB),则A为一三维矩阵。 FILENAME指明文件,FMT指明文件格式。格式 [X,MAP]=IMREAD(FILENAME,FMT).把FILENAME中 的索引图读入X,其相应的调色板读到MAP中.图像文件 中的调色板会被自动在范围[0,1]内重新调节。FMT的可 能取值为jpg或jpeg,tif或tiff,bmp,png,hdf,pcx,xwd。
1.6图像增强
1.
HISTEQ函数 该函数用直方图均衡的方法增强图像的对比度。 例如用直方图均衡的方法增强一幅灰度图。 I=imread(„lena.tif‟); J=histeq(I); Imshow(I); Figure, Imshow(J)
2
MEDFILT2函数
该函数用于显示图像。格式 IMAGE(C).
把矩阵C作为一幅图像显示.C的每一个元 素指明了一个图像块的颜色。 C 可以为 M*N 或 M*N*3 的 矩 阵 , 其 数 据 可 为 double,unit8,unit16型。 格式IMAGE(X,Y,C)。其中X,Y为矢量,指 明C(1,1)和C(M,N)象素中心的位置。
3.
FWIND1函数
该函数用一维加窗的方法设计二维 FIR 滤波器。
例如用该函数设计一个通带在 0.1 至 0.5 (归一 化频率)的近似循环对称二维带通滤波器。 [f1,f2]=freqspace(21,‟meshgrid‟); Hd=ones(21); r=sqrt(f1.^2+f2.^2); Hd((r<0.1)|(r>0.5))=0; h=fwind1(Hd, hamming(21)); freqz2(h)2. FTRANS2函数
该函数用频率转换法设计二维FIR滤波器。
例如用该函数设计一个通带在 0.1 至 0.6 (归一化频率)的近似循环对称二维带 通滤波器。 b=remez(10,[0 0.05 0.15 0.55 0.65 1],[0 0 1 1 0 0]); h=ftrans(b); freqz2(h)
1.9图像变换
1.
DCT2函数 该函数对图像进行二维离散余弦变换。 格式B=DCT2(A)返回A的离散余弦变换。 A和B大小相同,B包含离散余弦变换的 系数。格式B=DCT2(A,[M N])或 B=DCT2(A,M,N)在变换前把矩阵A用0填 充至大小M*N,若M或N小于A相应的尺 寸,则先截取A。
1.7线性滤波
1. CONV2函数 该函数进行二维卷积。格式 C=CONV2(A,B) 对
矩 阵 A,B 进 行 二 维 卷 积 。 若 [ma,na]=size(A),[mb,nb]=size(B), 则 size(C)=[ma+mb-1,na+nb-1]。 2. FILTER2函数 该函数进行二维数字滤波。格式 Y=FILTER2(B,X)。对X中的数据用矩阵B中的 二维FIR滤波器进行滤波。结果Y是用二维相关 性进行计算的,大小和X一样。
3.IMAGESC函数
该函数按比例决定数据并把它作为图像
显示。该函数的格式除数据要按比例重 整来使用完全调色板外,其他与函数 IMAGE相同。在格式 IMAGESC(…,CLIM) 中,CLIM=[CLOW,CHIGH]表明比例尺度。
4.IMSHOW函数
格式IMSHOW(I,N).用N级离散灰度级显示灰度
的索引图. 格式SUBIMAGE(I).用来显示灰度图. 格式SUBIMAGE(BW).用来显示二值图. 格式SUBIMAGE(RGB).用来显示真彩图. 格式 SUBIMAGE(x,y,…) 用来在非默认的空间 坐标中显示图像. H=SUBIMAGE(…)返回图像对象的句柄.输入 图像可为unit8,unit16,double型
ORDFILT2函数对图像进行二维排序统计滤波。 WIENER2函数进行二维自适应去噪滤波。该函数可对
一幅被加性噪声污染的灰度图进行低通滤波。
例如I=imread(„lena.tif‟); J=imnoise(I,‟gaussian‟,0,0.005); K=wiener2(J,[5 5]); imshow(J), figure, imshow(K)
指定的矩形中。例如在以下的语法格式 中 IMCORP 显示输入图像 , 并等待用鼠标 指定矩形。 I2=IMCORP(I). X2=IMCORP(X,MAP). RGB2=IMCORP(RGB).
2.imrotate函数
该 函 数 用 于 旋 转 图 像 。 格 式
B=IMROTATE(A,ANGLE,METHOD) 。 用于把图像A按逆时针方向和特殊的填充 方法旋转 ANGLE 度 ,METHOD 可取以下 值: “nearest”:默认值,用最近邻插值。 “bilinear”:用双线性插值。 “bicubic”:用双立方插值。
1.8 线性二维滤波器设计
1. FSAMP2函数 该函数用频率抽样法设计二维FIR滤波器。该函数在笛
卡儿平面上抽样点的二维频率响应的基础上设计二维 FIR滤波器。 例如用该函数设计一个通带在0.1至0.5之间(归一化频 率)的近似对称二维带通滤波器。 [f1,f2]=freqspace(21,‟meshgrid‟); Hd=ones(size(f1)); r=sqrt(f1.^2+f2.^2); Hd((r<0.1)|(r>0.5))=0; h=fsamp2(Hd); freqz2(h)
第二章 MATLAB中图象工具箱及图象格式
本章中主要介绍MATLAB中图像工具箱
及图像格式。这些内容对于初学者是基 础的,也是十分重要的。只有迅速掌握 这部分内容,才能开始图象处理的研究 工作。本章中主要介绍MATLAB图象工 具箱中的一些基本函数的应用和图象格 式基本知识,并结合具体实践进行不同 格式图象的打开和各种图象格式之间的 转换,为进一步开展图象处理的学习和 研究奠定基础。
图象 I 。若省略 N, 默认用 256 级灰度显示 24 位图 像 ,64 级 灰 度 显 示 其 他 系 统 。 格 式 IMSHOW(I,[LOW HIGH]) ,把 I 作为灰度图显 示。LOW值指定为黑色,HIGH指定为白色,中 间为按比例分布的灰色。若 [LOW,HIGH] 为 [], 则函数把图像中的最小值显示为黑色,最大值显 示为白色。 格式 IMAGE(SW). 用于显示二值图 .0 显示为黑 色,1显示为白色。
2. IDCT2函数 该函数计算二维离散余弦反变换。格式 B=IDCT2(A). 返回
2.imwrite函数 该函数用于把图像写入图形文件中。格式
IMWRITE(A,FILENAME,FMT)把图像A写入文 件FILENAME中。FILENAME指明文件名, FMT指明文件格式。A既可以是一个灰度图,也 可以是一个真彩图像。格式 IMWRITE(X,MAP,FILENAME,FMT)把索引图 及其调色板写入FILENAME中。MAP必须为合 法的MATLAB调色板,大多数图像格式不支持 多于256色的调色板。FMT的可能取值为tif或 tiff,jpg或jpeg,bmp,png,hdf,pcx,xwd。
1.5图像分析
1.
EDGE函数 该函数用于找出灰度图的边缘。该函数的输入是灰度 图,返回一个同样大小的二值图。边缘处为1,其他地 方为 0 。该函数支持 Sobel, Prewitt, Roberts, Laplacian, Zero-cross, Canny六种不同的算子。 例如使用Prewitt和Canny算子找出lena.bmp的边缘。 I=imread(„lena.tif‟); BW1=edge(I,‟prewitt‟); BW2=edge(I,‟canny”); imshow(BW1) figure, imshow(BW2)
4. FWIND2函数
该函数用二维加窗的方法设计二维 FIR 滤波器。
例如用该函数设计一个通带在 0.1 至 0.5 (归一 化频率)的近似循环对称二维带通滤波器。 [f1,f2]=freqspace(21,‟meshgrid‟); Hd=ones(21); r=sqrt(f1.^2+f2.^2); Hd((r<0.1)|(r>0.5))=0; win=fspecial(„gaussian‟,21,2); win=win./max(win(:)); h=fwind2(Hd,win); freqz2(h)
用于计算A,B间的相关系数,A,B为相同尺寸的矩阵或 向量。 2.IMHIST函数 该函数用于计算图像数据的直方图。格式IMHIST(I,N). 用于显示灰度图像 I 的 N 级直方图。对灰度图默认 N 为 256 ,对二值图默认 N 为 2 。格式 IMHIST(X,MAP) 。用 于显示索引图的直方图。 3.MEAN2函数 该函数用于计算矩阵元素的均值。