数字图像处理技术MATLAB图像处理简介.
Matlab中的数字图像处理与同态滤波技术详解
Matlab中的数字图像处理与同态滤波技术详解数字图像处理在现代科技领域发挥着重要的作用,它可以对图像进行增强、恢复、分析和理解。
Matlab是一种功能强大的工具,被广泛应用于数字图像处理领域。
同态滤波是数字图像处理中常用的技术之一,它能够有效地改善图像的质量和对比度,并提高图像的功能性。
一. 数字图像处理概述在数字图像处理中,我们通过对图像使用数字计算机算法来改善其质量和表达。
数字图像处理技术可以应用于各个领域,如医学图像处理、安全监控、图像识别等。
Matlab作为一种强大的工具,在数字图像处理中具有举足轻重的地位。
数字图像处理的基本步骤包括图像获取、预处理、增强、分割和表示。
其中,预处理环节是非常重要的。
预处理可以包括图像去噪、平滑、锐化和增强对比度等操作。
Matlab提供了各种强大的函数和工具箱,使得数字图像预处理变得更加简单和高效。
二. 同态滤波原理同态滤波是一种有效的图像增强技术,可以改善图像的对比度和亮度分布。
同态滤波技术能够在去除图像退化的同时,保持图像的细节信息,提高图像的可视性。
同态滤波的原理是对图像进行频率域分解,然后对低频部分和高频部分进行分别处理,最后再将两者合并得到增强后的图像。
同态滤波的核心思想是对数变换,通过对数变换可以将乘法运算转化为加法运算,从而简化计算过程。
三. Matlab中的同态滤波函数Matlab提供了许多用于数字图像处理的函数和工具箱,其中包括同态滤波函数。
下面介绍几个常用的同态滤波函数及其使用方法。
1. imadjust函数imadjust函数是Matlab中用于图像增强的函数之一。
它可以通过调整图像的亮度和对比度来改善图像的视觉效果。
imadjust函数的语法如下:J = imadjust(I,[low_in high_in],[low_out high_out]);其中,I是输入图像,J是输出图像。
[low_in high_in]表示输入图像中要拉伸的亮度范围,[low_out high_out]表示输出图像中的目标亮度范围。
数字图像处理与应用(MATLAB版)课后题答案
第一章1. 什么是图像?如何区分数字图像和模拟图像?模拟图像和数字图像如何相互转换?答:图像是当光辐射能量照在物体上,经过反射或透射,或由发光物体本身发出的光能量,在人的视觉器官中所重现出的物体的视觉信息。
数字图像将图像看成是许多大小相同、形状一致的像素组成。
这样,数字图像可以用二维矩阵表示。
将自然界的图像通过光学系统成像并由电子器件或系统转化为模拟图像(连续图像)信号,再由模拟/数字转化器(ADC)得到原始的数字图像信号。
图像的数字化包括离散和量化两个主要步骤。
在空间将连续坐标过程称为离散化,而进一步将图像的幅度值(可能是灰度或色彩)整数化的过程称为量化。
2. 什么是数字图像处理?答:数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。
3. 数字图像处理系统有哪几部分组成?各部分的主要功能和常见设备有哪些?答:一个基本的数字图像处理系统由图像输入、图像存储、图像输出、图像通信、图像处理和分析5个模块组成,如下图所示。
各个模块的作用分别为:图像输入模块:图像输入也称图像采集或图像数字化,它是利用图像采集设备(如数码照相机、数码摄像机等)来获取数字图像,或通过数字化设备(如图像扫描仪)将要处理的连续图像转换成适于计算机处理的数字图像。
图像存储模块:主要用来存储图像信息。
图像输出模块:将处理前后的图像显示出来或将处理结果永久保存。
图像通信模块:对图像信息进行传输或通信。
图像处理与分析模块:数字图像处理与分析模块包括处理算法、实现软件和数字计算机,以完成图像信息处理的所有功能。
4. 试述人眼的主要特性。
答:(1)、人眼的视觉机理。
视网膜上有大量的杆状细胞和锥状细胞,锥状细胞能辨别光的颜色,而杆状细胞感光灵敏度高,但不能辨色。
(2)、人眼的视敏特性。
指人眼对不同波长的光具有不同的敏感程度。
(3)、人眼的亮度感觉。
亮度感觉范围指人眼所能感觉到的最大亮度与最小亮度之间的范围。
(完整版)数字图像处理MATLAB程序【完整版】
第一部分数字图像处理实验一图像的点运算实验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工具箱函数,采用灰度直方图均衡化和高通滤波的方法对一幅X线图像进行增强处理。
结果:用直方图均衡化的算法,将原始图像密集的灰度分布变得比较稀疏,处理后的图像视觉效果得以改善。
高通滤波对于局部细节增强显著,高通滤波后使不易观察到的细节变得清晰。
结论:使用Matlab工具箱大大简化了编程工作,为医学图像处理提供了一种技术平台。
经过直方图均衡化和高通滤波处理后的医学图像,视觉效果得到改善。
关键词:MATLAB;直方图均衡化;高通滤波;图像增强AbstractDigital image processing is an emerging technology, with the development of computer hardware, real—time digital image processing has become possible due to digital image processing algorithms to appear,making it faster and faster processing speed,better for people services .Digital image processing is used by some algorithms computer graphics image pro cessing technology. Objective:To improve the quality of medical image by enhancing the details。
实验一 MATLAB数字图像处理初步
实验一MATLAB数字图像处理初步一、实验目的1、熟悉及掌握在MATLAB中能够处理哪些格式图像。
2、熟练掌握在MATLAB中读取图像,并获取图像的大小、颜色、高度、宽度等等相关信息。
3、掌握在MATLAB中按照指定要求存储一幅图像的方法。
4、熟悉数字图像矩阵的格式转换二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MATLAB把其处理为4类: 亮度图像(Intensity images)二值图像(Binary images)索引图像(Indexed images)RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
规定双精度型归一化亮度图像的取值范围是[0,1](2) 二值图像一幅二值图像是一个取值只有0和1的逻辑数组。
而一幅取值只包含0和1的uint8类数组,在MATLAB中并不认为是二值图像。
MATLAB图像处理技术与实例展示
MATLAB图像处理技术与实例展示引言图像处理是一门涉及数字图像处理和计算机视觉的重要学科,它在日常生活中的应用范围非常广泛。
MATLAB作为一种强大的数值计算和可视化工具,提供了许多图像处理的函数和工具箱,能够帮助实现各种图像处理任务。
本文将介绍一些常用的MATLAB图像处理技术,并提供相应的实例展示。
一、图像加噪与去噪图像加噪是指在原始图像上添加一些随机扰动,使原始图像的细节模糊或失真。
在实际应用中,图像往往会受到各种因素的影响,如传感器噪声、压缩噪声等。
为了恢复原始图像的质量,需要进行去噪处理。
MATLAB提供了许多图像加噪和去噪的函数和工具箱。
例如,使用imnoise函数可以在图像上添加高斯噪声、椒盐噪声等。
而使用imnlmfilt函数可以实现非局部均值去噪算法,通过对邻域像素的均值进行补偿,可以有效降低噪声。
实例展示:下面以一个简单的实例展示图像去噪的过程。
首先,我们使用imnoise函数在一张原始图像上添加高斯噪声:```MATLABI = imread('original_image.jpg');noisy_image = imnoise(I, 'gaussian', 0, 0.02);```然后,我们使用imnlmfilt函数对添加噪声的图像进行去噪处理:```MATLABdenoised_image = imnlmfilt(noisy_image);```最后,我们可以将原始图像、添加噪声的图像和去噪后的图像进行对比,以评估去噪效果。
二、图像增强图像增强是指通过一系列的处理方法,改善图像的质量和视觉效果,使图像更加清晰、鲜艳。
图像增强的方法有很多,其中包括直方图均衡化、对比度增强、锐化等。
在MATLAB中,可以使用histeq函数实现直方图均衡化,通过重新分布图像灰度级的分布,增强图像的对比度和细节。
而使用imadjust函数可以进行对比度增强,通过调整图像对比度和亮度来增强图像的视觉效果。
基于MATLAB的数字图像处理技术分析
基于MATLAB的数字图像处理技术分析摘要:本文主要针对MATLAB数字图像处理技术进行分析研究,文章中简要分析MATLAB数字图像处理技术的原理和优势,同时也分析该技术的应用功能,并以具体项目为例总结MATLAB数字图像处理技术的具体应用。
关键字;MATLAB;数字图像处理技术;图像处理数字图像处理技术四基于计算机技术基础上的图像处理技术,该技术能够图像信号转换为数字信号并进行综合处理,从而能够利用计算机就直接进行数字处理管控,提升数字图像处理效果。
而随着现代计算机技术的不断优化进步,数字图像处理技术也逐渐升级。
本文提出的MATLAB数字图像处理技术就是一种利用了MATLAB工程语言的图像处理技术,该技术的应用具有图像处理功能全、图像处理效率高的优势,在现代数字图像处理技术中应用,具有良好的应用效果。
1.MATLAB数字图像处理技术简要分析MATLAB数字图像处理技术应用是以MATLAB语言为主要技术的数字图像处理方法。
MATLAB计算机软件语言是由美国mathworks公司设计研发的一种新型软件。
该软件具有矩阵运算处理功能,具有数据分析功能、具有信号处理功能以及图形显示功能,在该功能之下,数据分析信号处理的效率都非常高。
并且国mathworks公司的MATLAB计算机软件语言也针对图像信号处理、神经网络系统以及非线性系统构建设计了多种工具箱,从而方便各项功能良好开展。
MATLAB计算机软件语言在应用的过程中,工具箱的应用十分关键,利用工具箱可以完成多项工作处理工作。
在整个工作进行处理中,图像显示函数,图像文件输入、输出、图像挣钱灌输、图像变换函数、图像颜色操作函数以及图像颜色空间转换函数都是工具箱应用都非常关键,是实现数字图像处理的关键。
MATLAB数字图像处理技术应用具有全面的图像处理功能。
在整个工程施工模块中,要求完成对数字图像处理的综合应用管控,在项目的实际处理中,还可以管控各项数字图像处理的效率。
数字信号处理课程设计--基于Matlab的数字图像处理
目录摘要 (II)第1章绪论...................................... 错误!未定义书签。
第2章数字图像处理系统设计...................... 错误!未定义书签。
2.1设计概括 (5)2.2文件 (6)2.2.1打开 (6)2.2.2保存 (6)2.2.3退出 (6)2.3编辑 (7)2.3.1灰度 (7)2.3.2亮度 (8)2.3.3截图 (10)2.3.4缩放 (10)2.4旋转 (13)2.4.1上下翻转 (13)2.4.2左右翻转 (14)2.4.3任意角度翻转 (15)2.5噪声 (16)2.6滤波 (17)2.6.1中值滤波 (17)2.6.2自适应滤波 (17)2.6.3 平滑滤波 (18)2.7直方图统计 (19)2.8频谱分析 (21)2.8.1、频谱图 (21)2.8.2通过高通滤波器 (22)2.8.3通过低通滤波器 (23)2.9灰度图像处理 (24)2.9.1二值图像 (24)2.9.2创建索引图像 (25)2.10颜色模型转换 (26)2.11操作界面设计 (27)第3章程序调试及结果分析 (28)总结 (29)参考文献 (30)摘要数字图像处理(Digital Image Processing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
在数字图像处理过程中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。
MATLAB既是一种直观、高效的计算机语言,同时又是一个科学计算平台。
它为数据分析和数据可视化、算法和应用程序开发提供了最核心的数学和高级图形工具。
根据它提供的500多个数学和工程函数,工程技术人员和科学工作者可以在它的集成环境中交互或编程以完成各自的计算。
本文利用MATLAB图像处理工具箱,根据需求进行程序的功能分析和界面设计,实现数字图像的灰度处理、亮度处理、截图、缩放、旋转、噪声、滤波、直方图统计、频谱分析、颜色模型转换等。
数字图像处理(MATLAB版)(第2版)
目录分析
1.1数字图像处理的 发展
1.2数字图像的相关 概念
1.3数字图像处理的 内容
1.4数字图像处理的 方法
1
1.5图像数字 化技术
2
1.6图像的统 计特征
3
1.7数字图像 的应用
4
1.8 MATLAB 领略
5 1.9 MATLAB
图像处理应用 实例
小结
习题
1
2.1图像类型 的转换
2
2.2线性系统
数字图像处理(MATLAB版)(第2版)
读书笔记模板
01 思维导图
03 目录分析 05 读书笔记
目录
02 内容摘要 04 作者介绍 06 精彩摘录
思维导图
本书关键字分析思维导图
几何变换
技术
图像
基础
图像
特征
数字图像处理
版
数字图像
内容 小结
数字图像
第版
习题
边界
第章
图像增强
滤波
运算
内容摘要
本书主要内容包括:全书共10章,分别介绍了数字图像的相关论述、数字图像的处理基础、图像编码、图像 复原、图像几何变换、图像频域变换、图像几何变换、小波变换、图像增强、图像分割与边缘检测及图像特征描 述等内容。
10.8形态学重建 10.9特征度量
小结 10.10查表操作
习题
作者介绍
这是《数字图像处理(MATLAB版)(第2版)》的读书笔记模板,暂无该书作者的介绍。
读书笔记
这是《数字图像处理(MATLAB版)(第2版)》的读书笔记模板,可以替换为自己的心得。
精彩摘录
这是《数字图像处理(MATLAB版)(第2版)》的读书笔记模板,可以替换为自己的精彩内容摘录。
数字图像处理及应用(MATLAB)第3章
程序运行结果如图(c)所示。
4.灰度非线性变换 当用某些非线性函数,例如平方、对数、指数函数等作为 映射函数时,可实现图像灰度的非线性变换。灰度的非线性 变换简称非线性变换,是指由这样一个非线性单值函数所确 定的灰度变换。 (1)对数变换 对数变换常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰 度的图像细节更容易看清,从而达到增强的效果。对数非线性变换
[例] 假设一个图像由一个4×4大小的二维数值矩阵构成,如图(a)
所示,试写出图像的灰度分布,并画出图像的直方图。
灰度直方图计算示意图
经过统计图像中灰度值为0的像素有1个,灰度值为1的 像素有1个,…,灰度值为6的像素有1个。由此得到图像的 灰度分布如表所示,由表可得灰度直方图如图(b)所示。 图像的灰度分布
3.1.2 (rk)代表概 率密度函数,并且有下式成立:
nk Pr (rk ) 0 rk 1 n k 0,1,2,l 1
式中nk为图像中出现rk这种灰度的像素数,n是图像中像素 总数,nk/n就是概率论中的频数,l是灰度级的总数目。在直 角坐标系中作出rk与P(rk)的关系图形,就得到直方图
图 不同的图像其直方图却是相同的
图 直方图的叠加性质
由以上可知,尽管直方图不能表示出某灰度级的像素在什么位
置,更不能直接反映出图像内容,但是却能描述该图像的灰度分布
特性,使人们从中得到诸如图像的明亮程度、对比度等,成为一些 处理方法的重要依据。通常一幅均匀量化的自然图像由于其灰度直
方图分布集中在较窄的低值灰度区间,引起图像的细节看不清楚,
(a)反变换关系
(b) 原图 图像反转的效果
(c)变换后的图像
由直线方程截斜式可知当k =-1,b=L-1时,其表达式为:
数字图像处理与应用(MATLAB版)第6章 图像的分割
是边缘;
➢ 使用双阈值算法检测和连接边缘。即使用直方图计
算两个阈值,凡是大于高阈值的一定是边缘;凡是
小于低阈值的一定不是边缘。如果检测结果大于低
阈值但又小于高阈值,那就要看这个像素的邻接像
素中有没有超过高阈值的边缘像素,如果有,则该
像素就是边缘,否则就不是边缘。
0 -1 0 -1 4 -1 0 -1 0
B A
6.1 图像分割的定义和分类
图像分割:是指根据灰度、彩色、纹理等特征把图像 划分成若干个互不相交的区域,使得这些特征在同一区 域内,表现出一致性或相似性,而在不同区域间表现出 明显的不同。
图像分割的作用
图像分割是图像识别和图像理解的前提,图像分 割质量的好坏直接影响后续图像处理的效果。
图像
具体步骤:
➢ 首先用2D高斯滤波模板进行卷积以平滑图像;
➢ 利 用 微 分 算 子 ( 如 Roberts 算 子 、 Prewitt 算 子 和
Sobel算子等),计算梯度的幅值和方向;
➢ 对梯度幅值进行非极大值抑制。即遍历图像,若某
个像素的灰度值与其梯度方向上前后两个像素的灰
,
度值相比不是最大,那么这个像素值置为0,即不
第六章 图像的分割
内 容 1、图像分割的定义和分类; 提 2、基于边缘的图像分割方法;
要 3、基于区域的分割;
4、基于运动的图像分割 ; 5、图像分割技术的发展。
基
本 要
通过对图像分割技术的学习,掌
求 握基于边缘、区域、运动的图像
重
分割技术。
点
难 点
图像分割的定义、分类 基于边缘的图像分割方法
基于区域、运动的图像分割方法
G(i, j) Px Py
数字图像处理教程(matlab版)
FILENAME参数指定文件名。FMT为保存文件采用的格式。 imwrite(I6,'nirdilatedisk2TTC10373.bmp');
/1、图像的读取和显示
三、图像的显示
imshow(I,[low high])
I为要显示的图像矩阵。[low high]为指定显示灰度图像的灰度范围。 高于high的像素被显示成白色;低于low的像素被显示成黑色;介于 High和low之间的像素被按比例拉伸后显示为各种等级的灰色。 figure;imshow(I6);title('The Main Pass Part of TTC10373');
t c logk s
c为尺度比例常数,s为源灰度值,t为变换后的目标灰 度值。k为常数。灰度的对数变换可以增强一幅图像 中较暗部分的细节,可用来扩展被压缩的高值图像中 的较暗像素。广泛应用于频谱图像的显示中。
Warning:log函数会对输入图像矩阵s中的每个元素进行
操作,但仅能处理double类型的矩阵。而从图像文件中得到的 图像矩阵大多是uint8类型的,故需先进行im2double数据类型 转换。
原 图 像
滤 波 后 图
像
/4、空间域图像增强 三、滤波器设计
h=fspecial(type,parameters)
parameters为可选项,是和所选定的滤波器类型type相关的 配置参数,如尺寸和标准差等。
type为滤波器的类型。其合法值如下:
合法取值 ‘average’
‘disk’ ‘gaussian’ ‘laplacian’
DA
DMax A0
DA
《篇Matlab图像处理》课件
感谢您的观看
THANKS
线性变换和非线性变换
线性变换如加法、乘法等,非线性变换如指数变换、对数变换等。
应用场景
在图像对比度较低或亮度不足时,通过灰度变换可以改善图像质 。
滤波
滤波原理
通过滤波器对图像进行平滑或锐化处理,消除 噪声或突出边缘。
滤波器类型
包括均值滤波器、中值滤波器、高斯滤波器等 。
应用场景
在图像存在噪声干扰时,通过滤波可以降低噪声对图像的影响。
MATLAB图像处理的优势与不足
01
不足:
02
价格昂贵:MATLAB是一款商业软件,价格相对较高,可能不适合一 些小型项目或个人使用。
03
资源占用大:MATLAB的运行需要较大的内存和计算资源,可能影响 运行速度。
04
开放性不足:相对于一些开源的图像处理工具,MATLAB的源代码不 公开,使得定制和扩展较为困难。
RGB与灰度转换
将彩色图像从RGB色彩空间转换到HSV色彩 空间,以便进行色彩调整或特定目标检测。
RGB与HSV转换
将彩色图像转换为灰度图像,以便进行灰度 处理。
应用场景
在需要进行特定色彩处理或目标检测时,通 过色彩空间转换可以更好地处理和识别目标 。
03
MATLAB图像处理应用
数字图像处理算法实现
应用场景
在图像质量较差或需要突出某些 特征时,通过图像增强可以改善 图像质量。
01
02
图像增强原理
通过调整图像的色彩、亮度和对 比度等参数,改善图像质量。
03
频域增强
通过傅里叶变换将图像从空间域 转换到频域,再进行频域处理后 反变换回空间域。
04
色彩空间转换
第11讲 Matlab数字图像处理
表 11.1 函数 imfinfo 返回的结构数组基本内容
结构数组成员名 Filename FileMoDate FileSize Format FormatVersion Width Height BitDepth ColorType 所代表函数 文件名称 文件最后修改日期和时间 文件大小(单位是字节) 文件格式或扩展名(tif、jpf 和 png 等) 文件格式版本号 图像文件的宽度,单位为像素 图像文件的高度,单位为像素 图像文件中每一个像素所占位宽(真彩色图像每个像素占 24 位) 图像类型(grayscale-灰度图像,truecolor-RGB 图像,indexed-索引图像)
表111函数imfinfo返回的结构数组基本内容结构数组成员名所代表函数filename文件名称filemodate文件最后修改日期和时间filesize文件大小单位是字节format文件格式或扩展名tifjpf和pngformatversion文件格式版本号width图像文件的宽度单位为像素height图像文件的高度单位为像素bitdepth图像文件中每一个像素所占位宽真彩色图像每个像素占24colortype图像类型grayscale灰度图像truecolorrgb图像indexed索引图像函数imtool利用函数imtool可以将图像在图像工具浏览器中:该函数是利用颜色映射表 map 的逆算法,将 RGB 图像转换为索引 图像。 例11.3 将 RGB 图像转换为索引图像。 RGB = imread('ngc6543a.jpg'); %Matlab 工具箱中的图像文件 subplot(131), imagesc(RGB), zoom(4) %图像放大 4 倍 [IND,map]=rgb2ind(RGB,32); subplot(132), image(IND), colormap(map), zoom(4) subplot(133), imshow(RGB) %不带坐标轴刻度的显示,图像不放大 例 11.4 将 RGB 图像转换为索引图像。 clc, clear a=imread('football.jpg'); %Matlab 工具箱中的图像文件 [x1,m1]=rgb2ind(a,128); %将 RGB 图像转换成索引图像,颜色种数 N 至多 128 种 [x2,m2]=rgb2ind(a,0.1); %将 RGB 图像转换成索引图像,颜色种数 N 至多 11^3 种 m3=colorcube(128); %创建一个指定颜色数目的 RGB 颜色映射表 x3=rgb2ind(a,m3); subplot(131), imshow(x1,m1) %显示用最小方差法转换后的索引图像 subplot(132), imshow(x2,m2) %显示用均匀量化法转换后的索引图像 subplot(133), imshow(x3,m3) %显示用颜色近似法转换后的索引图像 3. 索引图像转换为 RGB 图像 在 Matlab 中,利用函数 ind2rgb 函数可以将索引图像转换为 RGB 图像。其调用格式为 RGB=ind2rgb(X,map):其中[X,map]指向索引图像,RGB 指向转换后的真彩色图像。 例 11.5 将索引图像转换为真彩色图像。 clc, clear [x,a]=imread('kids.tif'); %Matlab 工具箱中的图像文件 b=ind2rgb(x,a); %将索引图像转换为真彩色图像 subplot(121), imshow(x,a), subplot(122), imshow(b) 11.2.2 Matlab 图像工具箱中的几个函数介绍 1.imread 和 imwrite imread 函数是从图像文件读图像,它的一般调用格式为 A=imread(filename) 返回值 A 为矩阵,当图像是黑白和灰度图像时,A 为二维矩阵,当图像是彩色图像时,A 是三维矩阵,即 A 为 3 个二维矩阵,分别为 R、G、B 的像素值。 imwrite 函数是把图像写到图像文件中,它的一般调用格式为 imwrite(A,filename) 把图像 A(二维矩阵或三维矩阵)写到图像文件 filename 中。 例 11.6 读入一个 bmp 图像,然后再把图像保存成 jpg 格式。 clc, clear a=imread('data6.bmp'); %非工具箱图像文件 imwrite(a,'data7.jpg') %把图像保存成 jpg 格式 subplot(121), imshow(a) %显示原图像 subplot(122), imshow('data7.jpg') %显示 jpg 图像 2. 文件信息读取函数 imfinfo 在 Matlab 中,对图像进行操作和处理时,经常需要知道图像文件的文件名、文件格式、 图像大小、图像类型和数据类型等信息,可以直接调用 Matlab 函数 imfinfo 来读取图像文件 的信息。其调用格式如下。 info=imfinfo(filename):该函数读取文件 filename 的信息。其中,filename 指的是图像 文件的“文件名” (包括后缀名) 。info 是一个结构数组。不同格式的文件最终得到的 info 所包含的结构成员不同,但基本都包含前 9 个结构成员,具体如表 11.1 所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
quality = 100
quality = 50
quality = 5
7
MATLAB图像处理基础
• 显示图像信息: >> imfinfo rose.jpg
8
MATLAB图像处理基础
• 计算压缩率:将图像信息存储在结构变量中以方 便运算。
>> >> >> >> K = imfinfo('rose.jpg'); image_bytes = K.Width*K.Height*K.BitDepth/8; compressed_bytes = K.FileSize; compression_ratio = image_bytes/compressed_bytes
13
MATLAB图像处理基础
• 将double类型任意矩阵转换为double类型图像: g = mat2gray(A, [Amin, Amax]); A中小于Amin的数据变为0,大于Amax的数据变为1。 g = mat2gray(A); 则将Amin和 Amax分别设为A 中元素的最小值和最大值。 • im2double将图像转换为double类型。如果输入数据已经 是double类型,则不对输入数据做任何改变。因此,对于 double类型的图像转换,应该使用mat2gray。
MATLAB图像处理基础
• 四. MATLAB中的数据类型:
类型名称 描述
double uint8
uint16 uint32 int8 int16 int32 single char logical
双精度浮点类型,8字节(MATLAB数值运算基本类型) 无符号8位整数(8位数字图像所用类型)
无符号16位整数(16位数字图像所用类型) 无符号32位整数 有符号8位整数 有符号16位整数 有符号32位整数 单精度浮点类型,4字节 字符类型,2字节(Unicode编码) 逻辑类型(0或1),1字节(二值图像所用数据类型)
1
MATLAB图像处理基础
• 典型桌面:
2
MATLAB图像处理基础
• 一. 读取图像:将图像rose-orginal.tif读入图像数组f
>> f = imread('.\rose-original.tif');
• 显示图像大小信息:
>> size(f) ans = 1024 >> [M, N] = size(f); 1024
• 或者将大小信息赋给变量:
• whos显示更为详细的信息:
>> whos f Name Size Bytes Class f 1024x1024 1048576 uint8 array Grand total is 1048576 elements using 1048576 bytes
3
MATLAB图像处理基础
• 二. 显示图像:
>> imshow(f)
• 指定显示的灰度范围
>> figure, imshow(f, [100 200])
• 情况下显示图像的整个 动态范围:
>> figure, imshow(f, [ ])
4
MATLAB图像处理基础
利用imshow改善图像;> imshow(h) • 改善动态范围: >> imshow(h, [ ])
5
MATLAB图像处理基础
• 以交互方式显示像素值: >> pixval • 利用pixval显示像素之间 距离:按下鼠标左键并拖 动
6
MATLAB图像处理基础
• 三. 将图像写入磁盘: >> imwrite(f, 'rose.jpg') • 对于JPEG压缩格式,可指定质量因子: >> imwrite(f, 'rose.jpg', 'quality', 25)
>> h = uint8([25 50; 128 200]); >> g = im2double(h) g = 0.0980 0.5020 0.1961 0.7843 im2double将输入的uint8型数据 除以255,将输入的uint16型数 据除以65535。
compression_ratio =
30.0340
>>
9
文件读写
• 无格式文件数据的读写: fopen, fread, fwrite, fclose • mat文件数据的读写: load, save • 有格式文件数据的读写:imread, imwrite • 剪切任意形状区域:imshow(f), pixval, c=[354 858 2147 2290 776 367], r=[3 7 363 2901 3262 3258], BW=roipoly(f,c,r), b=f.*uint8(BW), imview(b)
MATLAB图像处理基础
• MATLAB语言的特点:
– 交互性:编程、数据处理、可视化输出 – 便于矩阵运算和图像处理 – 丰富的函数库和在线资源
• MATLAB的图像处理工具箱(Image Processing Toolbox, IPT)包含了许多图像 处理相关函数以方便数字图像处理编程, 是构建图像处理原型系统的理想环境。
12
MATLAB图像处理基础
• 六. 图像类型的相互转换:下表中的函数在图像类型转换 中会进行必要的数据比例变换。
>> f = [-0.5 0.5;0.75 1.5] f = -0.5000 0.5000 0.7500 1.5000 >> g = im2uint8(f) im2unit8将输入double类型数据中小于0的 g = 数转换为0,大于1的数转换为255,其余数 0 128 据乘以255再四舍五入到最近整数。 191 255
11
数 值 类 型
MATLAB图像处理基础
• 五. MATLAB中的图像类型: – 灰度图像(intensity images):元素取值代表灰度级的 矩阵。采用不同数据类型时取值范围:uint8: [0, 255], uint16: [0, 65535], double: [0, 1]。 – 二值图像(binary images):元素取值为0或1的逻辑 矩阵。 注意:取值0或1的数值类型矩阵在MATLAB中不认为 是二值图像,必须进行转换: B = logical(A) 上述运算将A中所有非0值变为逻辑值1。