基于MATLAB的图像分割方法及应用
利用Matlab进行图像处理的常用方法

利用Matlab进行图像处理的常用方法概述:图像处理是数字信号处理的一个重要分支,也是计算机视觉领域的核心内容之一。
随着计算机技术的不断发展,利用Matlab进行图像处理的方法变得越来越重要。
本文将介绍一些常用的Matlab图像处理方法,包括图像的读取与显示、图像的预处理、图像的滤波处理、基本的图像增强方法以及图像的分割与检测等。
一、图像的读取与显示在Matlab中,可以使用imread函数直接读取图像。
通过指定图像的路径,我们可以将图像读取为一个矩阵,并且可以选择性地将其转换为灰度图像或彩色图像。
对于灰度图像,可以使用imshow函数将其显示出来,也可以使用imwrite函数将其保存为指定格式的图像文件。
对于彩色图像,可以使用imshow函数直接显示,也可以使用imwrite函数保存为指定格式的图像文件。
此外,还可以使用impixel函数获取图像中指定像素点的RGB值。
二、图像的预处理图像的预处理是指在进一步处理之前对图像进行调整和修复以消除图像中的噪声和不良的影响。
常用的图像预处理方法包括图像的平滑处理、图像增强和图像修复等。
1. 图像平滑处理:常用的图像平滑方法有均值滤波、中值滤波和高斯滤波等。
其中,均值滤波将每个像素点的值替换为其周围像素点的平均值,中值滤波将每个像素点的值替换为其周围像素点的中值,高斯滤波则通过加权平均的方式平滑图像。
2. 图像增强:图像增强是指通过一些方法提高图像的质量和信息内容。
常用的图像增强方法包括直方图均衡化、对比度拉伸和锐化等。
直方图均衡化通过调整图像的灰度分布,以提高图像的对比度和细节。
对比度拉伸是通过将图像的像素值线性拉伸到整个灰度范围内,以增强图像的对比度。
锐化则是通过增强图像的边缘和细节,使图像更加清晰。
三、图像的滤波处理图像的滤波处理是指通过对图像进行一系列滤波操作,来提取图像中的特征和信息。
常用的图像滤波方法包括模板滤波、频域滤波和小波变换等。
1. 模板滤波:模板滤波是基于局部像素邻域的滤波方法,通过定义一个滤波模板,将其与图像进行卷积操作,从而实现图像的滤波。
浅析基于MATLAB的图像分割方法

像 中要提取 的 目标 物 与其背 景在灰 度特 性上 的差异 ,通过
设 置 合 适 的 灰 度 门 限 ( 值 ) 将 图 像 的 灰 度 划 分 为 两 个 或 阈 , 多个 灰 度 区 间 , 以确 定 有 意 义 的 区 域 或 分 割 物 体 的边 界 。 阈 值 分 割 常 用 于 图像 的 二 值 化 处 理 , 选 择 一 个 合 适 的 阈值 , 即 通 过 判 断 图像 中 的 每 一 个 像 素 点 的 特 征 属 性 是 否 满 足 阂 值
绍, 重点对 边缘检 测技 术的几 种常用 算 子进行 比较分 析 , 并 通 过 MAT AB 数 字 图 像 处 理 工 具 编 程 实 现 基 于 各 算 子 的 L
边缘 检测 。
2 .基 于 阈 值 的 图像 分 割 阈 值 分 割 『 一 种 常 用 的 图 像 分 割 方 法 , 主 要 利 用 图 2 1 是 它
阈值 分 割 。
对 于 图像 函数 r ,)它 在像 素 点( ,) 的梯 度 是一 ( y, x xy处
个矢量 , 义为: 定
Gx) [ ] E’=票 fy (]
梯度有 两个重要特性 : () 度 的方 向 为 函 数 f ,) 大 变 化 率 的 方 向 ; 1梯 ( Y最 x
划分成若 干个这样 的有意义 区域 的过程 , 各区域是具有 相近
特 性 的像 素 的连 通 集 合 。
始 区域 , 根据给定 的均 匀性检测准 则进行分裂 和合并这些 区
域 , 步 改 善 区 域 划 分 的 性 能 , 至 最 后 将 图 像 分 成 数 量 最 逐 直 少 的均匀区域 为止。 4 .基 于 边 缘 检 测 的 图 像 分 割 及 算 子 分 析 边 缘 是 指 图 像 中像 素 灰 度 值 或 色 彩 等 属 性 有 突 变 的 像 素 的集 合 , 存 在 于 目标 与 背 景 、 它 目标 与 目标 之 间 , 含 了丰 包 富 的 图 像 信 息 。基 于 边 缘 检 测 [ 图 像 分 割 正 是利 用 边 缘 的 2 ] 的 灰 度 变 化 特 性 , 过 考 察 图 像 中各 像 素 在 某 个 邻 域 内 灰 度 的 通
Matlab中的图像分割与边缘检测方法

Matlab中的图像分割与边缘检测方法引言图像处理是一门研究如何对数字图像进行处理、分析、改进和理解的学科。
图像分割与边缘检测在图像处理中占据着重要的地位。
图像分割是将图像划分为多个具有语义意义的区域或对象的过程,而边缘检测则是找到图像中不连续的区域边界。
Matlab作为一种强大的软件工具,提供了丰富的图像处理函数和工具箱,本文将探讨在Matlab中应用的图像分割与边缘检测方法。
一、图像分割方法1. 基于阈值的分割基于阈值的分割是一种简单但有效的方法。
该方法将图像像素的灰度值与预设的阈值进行比较,根据比较结果将像素分配到不同的区域。
在Matlab中,可以使用imbinarize和graythresh函数来实现基于阈值的分割。
2. 区域增长法区域增长法基于像素之间的相似性来进行分割。
该方法从种子像素开始,通过判断邻域像素与种子像素的相似度来不断扩展区域。
在Matlab中,可以使用imsegf和regiongrowing函数来实现区域增长法。
3. 聚类方法聚类方法将图像像素分为多个类别,每个类别代表一个区域。
该方法通常使用聚类算法,比如k-means算法或者模糊c-均值算法。
在Matlab中,可以使用kmeans和fcm函数来实现聚类方法。
4. 模型驱动法模型驱动法基于数学模型来描述图像中的区域。
该方法通过定义一个能够衡量图像中区域特征的能量函数,并通过优化算法来最小化能量函数,从而得到分割结果。
在Matlab中,可以使用activecontour和chanvese函数来实现模型驱动法。
二、边缘检测方法1. Sobel算子Sobel算子是一种经典的边缘检测算子。
其基本思想是通过计算像素与其周围像素之间的差异来检测边缘。
在Matlab中,可以使用imgradient和imgradientxy函数来实现Sobel算子。
2. Canny算子Canny算子是一种广泛使用的边缘检测算子。
它利用高斯平滑、梯度计算、非极大值抑制和双阈值法来检测边缘。
基于Matlab的彩色图像分割

3 Matlab编程实现3.1 Matlab编程过程用Matlab来分割彩色图像的过程如下:1)获取图像的RGB颜色信息。
通过与用户的交互操作来提示用户输入待处理的彩色图像文件路径;2)RGB彩色空间到lab彩色空间的转换。
通过函数makecform()和applycform()来实现; 3)对ab分量进行Kmean聚类。
调用函数kmeans()来实现;4)显示分割后的各个区域。
用三副图像分别来显示各个分割目标,背景用黑色表示。
3.2 Matlab程序源码%文件读取clear;clc;file_name = input('请输入图像文件路径:','s');I_rgb = imread(file_name); %读取文件数据figure();imshow(I_rgb); %显示原图title('原始图像');%将彩色图像从RGB转化到lab彩色空间C = makecform('srgb2lab'); %设置转换格式I_lab = applycform(I_rgb, C);%进行K-mean聚类将图像分割成3个区域ab = double(I_lab(:,:,2:3)); %取出lab空间的a分量和b分量nrows = size(ab,1);ncols = size(ab,2);ab = reshape(ab,nrows*ncols,2);nColors = 3; %分割的区域个数为3[cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean','Replicates',3); %重复聚类3次pixel_labels = reshape(cluster_idx,nrows,ncols);figure();imshow(pixel_labels,[]), title('聚类结果');%显示分割后的各个区域segmented_images = cell(1,3);rgb_label = repmat(pixel_labels,[1 1 3]);for k = 1:nColorscolor = I_rgb;color(rgb_label ~= k) = 0;segmented_images{k} = color;endfigure(),imshow(segmented_images{1}), title('分割结果——区域1'); figure(),imshow(segmented_images{2}), title('分割结果——区域2'); figure(),imshow(segmented_images{3}), title('分割结果——区域3');。
如何在Matlab中进行图像分割

如何在Matlab中进行图像分割图像分割是图像处理中十分重要的一项技术,它能够将图像划分为多个具有独立意义的区域,有助于进一步的图像分析和处理。
在Matlab中进行图像分割,我们可以利用许多现成的函数和工具箱,使得整个过程更加高效和便捷。
本文将介绍如何在Matlab中进行图像分割,包括基于阈值的分割方法、基于边缘的分割方法以及基于区域的分割方法。
首先,基于阈值的分割方法是最简单和常用的图像分割方法之一。
它基于图像的亮度或颜色信息,将图像分为不同的区域。
在Matlab中,我们可以使用im2bw 函数将彩色图像转换为二值图像,然后使用graythresh函数或multithresh函数确定适当的阈值。
例如,下面的代码演示了如何使用阈值进行图像分割:```matlabimg = imread('image.jpg');grayImg = rgb2gray(img);threshold = graythresh(grayImg);binaryImg = im2bw(grayImg, threshold);```其次,基于边缘的分割方法是通过检测图像中的边缘信息来实现图像分割。
在Matlab中,我们可以使用一系列边缘检测算法,如Sobel算子、Canny算子等。
这些算法可以提取图像中的边缘信息,并将其转化为二值图像。
下面的代码演示了如何使用Canny算子进行图像分割:```matlabimg = imread('image.jpg');grayImg = rgb2gray(img);edgeImg = edge(grayImg, 'canny');```最后,基于区域的分割方法是将图像分为具有相似纹理、颜色或形状特征的区域。
在Matlab中,我们可以使用基于区域的分割算法,如分水岭算法、区域生长算法等。
这些算法可以通过对图像进行区域合并或区域分裂来实现图像分割。
Matlab技术的实际应用案例解析

Matlab技术的实际应用案例解析随着计算机技术的发展,Matlab作为一种高级技术语言,被广泛应用于多个领域。
无论是在科研领域还是工程实践中,Matlab都扮演着重要的角色。
本文将通过几个实际应用案例,探讨Matlab技术在不同领域的应用,以期给读者提供一些启示和参考。
一、图像处理领域图像处理是Matlab的一项重要应用领域。
利用Matlab提供的强大的图像处理工具箱,可以实现各种功能,例如图像增强、滤波、分割和识别等。
以下将介绍一个实际应用案例。
案例一:肿瘤图像分割肿瘤图像的分割对于医学诊断非常关键。
在某医院的研究中,研究人员利用Matlab进行了肿瘤图像的分割工作。
首先,他们先对肿瘤图像进行预处理,包括降噪和增强等操作。
然后,利用Matlab提供的图像分割算法,将肿瘤与周围组织分离出来。
最后,通过对分割后的图像进行计算,可以得到肿瘤的大小、形状等信息,为医生提供诊断依据。
二、信号处理领域信号处理是Matlab的另一个重要应用领域。
通过利用Matlab提供的信号处理工具箱,可以实现信号的滤波、谱分析、峰值检测等功能。
以下将介绍一个实际应用案例。
案例二:语音信号增强在通信领域,语音信号是一种常见的信号类型。
在某通信公司的项目中,研发团队利用Matlab对语音信号进行增强。
首先,他们通过Matlab提供的滤波器设计算法,设计了一种高效的降噪滤波器。
然后,他们利用该滤波器对采集到的语音信号进行滤波处理,去除噪声成分。
最后,通过对处理后的语音信号进行主观听感和客观评价,证明了该算法的有效性。
三、控制系统领域Matlab在控制系统领域的应用也非常广泛。
通过Matlab提供的控制系统工具箱,可以进行控制系统的建模、仿真和优化等操作。
以下将介绍一个实际应用案例。
案例三:智能交通信号优化在城市交通系统中,智能交通信号优化是一个重要的研究方向。
在某城市的交通管理局的项目中,研究人员利用Matlab进行了智能交通信号优化的仿真研究。
基于MATLAB的图像分割算法研究

摘要本文从原理和应用效果上对经典的图像分割方法如边缘检测、阈值分割技术和区域增长等进行了分析。
对梯度算法中的Roberts算子、Sobel算子、Prewitt算子、拉普拉斯(Laplacian)算子、LoG(Laplacian-Gauss)算子、坎尼(Canny)算子的分割步骤、分割方式、分割准则相互比较可以看出根据坎尼(Canny)边缘算子的3个准则得出的边缘检测结果最满意。
而阈值分割技术的关键在于阈值的确定,只有阈值确定好了才能有效的划分物体与背景,但这种方法只对于那些灰度分布明显,背景与物体差别大的图像的分割效果才明显。
区域增长的基本思想是将具有相似性质的像素集合起来构成新区域。
与此同时本文还分析了图像分割技术研究的方向。
关键词:图像处理图像分割AbstractThis article analyses the application effect to the classics image segmentation method like the edge examination, territory value division technology, and the region growth and so on.For comparing the Roberts operator, Sobel operator, Prewitt operator, the operator of Laplacian and the operator of LoG(Laplacian-Gauss),Canny operator in gradient algorithm,the step, the way and the standard of the image segmentation,we can find out the three standard of Canny edge operator the edge detection result of reaching most satisfy. And the key point of threshold segmentation lie in fixing the threshold value, it is good to have only threshold value to determine it then can be effective to divide object and background,but this kind of method is good to those gray scales,the big difference image effect between the background and obiect. The basic idea of area is to form the new region from similar nature.And also, this paper analyses the research direction of image segmentation technology at the same time.Key words: image processing image segmentation operator目录(一般目录要求最多是三级目录,不要出现四级目录)第一章绪论 (1)1.1数字图像处理的基本特点 (1)1.1.1数字图像处理的信息大多是二维信息,处理信息量很大(三级标题有问题)1 1.1.2数字图像处理占用的频带较宽 (2)1.1.3数字图像中各个像素是不独立的,其相关性大 (2)1.1.4作合适的假定或附加新的测量 (2)1.1.5数字图像处理后的图像受人的因素影响较大 (2)1.2数字图像处理的优点 (2)1.2.1再现性好 (2)1.2.2处理精度高 (3)1.2.3适用面宽 (3)1.2.4灵活性高 (3)1.3数字图像处理的应用 (4)1.3.1航天和航空技术方面的应用 (4)1.3.2生物医学工程方面的应用 (5)1.3.3通信工程方面的应用 (5)1.3.4工业和工程方面的应用 (5)1.3.5军事公安方面的应用 (5)1.3.6文化艺术方面的应用 (6)1.4数字图像分割技术的发展概况 (6)1.4.1 基于分形的图像分割技术 (6)1.4.2 基于神经网络的图像分割技术 (7)1.5本文的主要流程图 (8)第二章数字图像处理的处理方式 (9)2.1图像变换 (9)2.2图像编码压缩 (9)2.3图像增强和复原 (9)2.4图像分割 (9)2.5图像描述 (10)2.6图像分类(识别) (10)第三章 MATLAB平台及其开发环境 (11)3.1.MATLAB的组成 (11)3.1.1MATLAB主要有以下几个部分 (11)a.数值计算功能 (12)b.符号计算功能 (12)c.数据分析功能 (12)d.动态仿真功能 (12)e.程序借口功能 (13)f.文字处理功能 (13)3.2MATLAB的特点 (13)3.2.1功能强大,可扩展性强 (13)3.2.2界面友好,编程效率高 (14)3.2.3图像功能,灵活且方便 (14)3.3MATLAB在图像处理中的应用 (14)第四章图像分割概念及算法研究 (16)4.1图像分割的基本概念 (16)4.1.1图像分割定义 (16)4.2边缘检测方法(4.1和4.2之间不是并行关系) (17)4.2.1边缘检测概述 (17)4.2.2边缘检测梯度算法 (19)a.梯度边缘检测算法基本步骤及流程图 (19)b.Robert算子 (20)c.Sobel算子 (21)d.Prewitt算子 (21)4.2.3拉普拉斯(Laplacian)算子 (22)4.2.4LoG(Laplacian-Gauss)算子 (24)4.2.5坎尼(Canny)算子 (25)4.3灰度阈值分割 (27)4.3.1阈值分割介绍 (28)a.阈值化分割原则 (28)b.阈值分割算法分类 (29)4.3.2全局阈值 (30)a.极小值点阈值 (31)b.最优阈值 (31)c.迭代阈值分割 (33)4.3.3动态阈值 (34)a.阈值插值 (35)b.水线阈值算法 (35)4.4区域分割 (37)4.4.1区域生长的基本原理、步骤及流程图 (37)4.4.2生长准则和过程 (40)a.灰度差准则 (40)b.灰度分布统计准则 (41)c.区域形状准则 (42)4.4.3分裂合并 (43)第五章总结 (45)5.1对于图像边缘检测的分析 (45)5.2对于图像阈值分割的分析 (45)5.3对于图像区域分割的分析 (46)5.4改进意见(改进可另外做为一章比如说某某算法等的若干改进等,不要放入总结一章中)(总结是对整篇文章的一个概述,应该是写比如得出些什么结论,一些算法间比较等相关问题。
如何使用MATLAB进行图像分割与识别

如何使用MATLAB进行图像分割与识别图像分割与图像识别是计算机视觉领域中的重要研究方向,其中MATLAB作为一种常用的编程工具,在图像处理和机器学习方面有着广泛的应用。
本文将介绍如何使用MATLAB进行图像分割与识别,并分析其中的关键技术和算法。
一、图像分割图像分割是将一副图像分割成多个具有独立语义的区域的过程。
图像分割可以帮助我们理解图像中的目标和背景,并为图像后续处理提供基础。
在MATLAB中,有许多图像分割算法可供选择,其中比较常用的是基于聚类的方法和基于边缘检测的方法。
聚类方法是将像素点根据它们在颜色、纹理或其他特征空间中的相似度进行分组。
在MATLAB中,可以使用k-means聚类算法进行图像分割。
通过设置合适的聚类中心数量,可以将图像分成不同的区域。
边缘检测方法是通过检测图像中的边缘来进行分割。
MATLAB提供了多种边缘检测算法,如Sobel算子和Canny算子。
这些算法可以帮助我们找到图像中的边缘,并将图像分割成不同的区域。
二、图像识别图像识别是通过计算机算法对图像中的目标进行自动识别和分类的过程。
MATLAB中有多种图像识别算法可供选择,其中比较常用的是基于特征提取和机器学习的方法。
特征提取是图像识别的关键步骤之一。
在MATLAB中,可以使用SIFT、SURF和HOG等算法提取图像的特征。
通过提取图像的关键点和描述子,可以将图像转换成一组可用于识别的特征向量。
机器学习是图像识别的核心技术之一。
在MATLAB中,可以使用支持向量机(SVM)、卷积神经网络(CNN)和深度学习等算法进行图像识别。
这些算法可以对提取的特征进行训练和分类,并实现目标的自动识别和分类。
三、MATLAB图像处理工具箱MATLAB提供了丰富的图像处理工具箱,包含了大量处理图像的函数和工具。
使用MATLAB图像处理工具箱,可以很方便地进行图像处理和分析。
例如,可以使用MATLAB图像处理工具箱中的imread函数读取图像,并使用imresize函数修改图像的尺寸。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
财经大学(《图像处理》课程论文)题目:图像分割算法研究——基于分水岭分割法的彩色图像分割学院:管理科学与工程学院专业:电子信息工程姓名:万多荃学号:20123712电话:任课教师:许晓丽论文成绩:2015年10月目录摘要 (2)1.前言 (2)1.1图像分割技术 (2)2研究目的 (2)3 图像处理技术基础 (3)3.1 技术背景 (3)3.2 彩色图像格式 (3)3.3 彩色图像分割技术 (4)4分水岭分割法 (4)5 彩色图像分割的MATLAB实现 (6)5.1 MATLAB语言:分水岭分割法实现图像分割 (6)5.1.1 设计流程 (6)5.1.2 MATLAB程序 (7)5.2结果分析 (9)结论 (9)参考文献 (9)摘要图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。
图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。
图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。
本文根据图像分割原理及人眼视觉的基本理论,研究图像的彩色模型及图像分割的常用方法,比较各方法的特点,并选择合适的方法对图像进行分割。
本文采用MATLAB软件对图像进行彩色坐标变换及阈值分割,计算简单,具有较高的运行效率,分割的结果是使图像更符合人眼的视觉特性,获得比较好的效果。
关键字:图像处理;图像分割;人类视觉;MATLAB1.前言1.1图像分割技术图像分割技术是非常重要的图像处理技术之一,无语是在理论研究还是在实际应用中人们都非常的重视。
图像分割有许多的种类和方式,一些分割运算能够直接应用于任何图像,而另外一些却只适用于特别种类的图像。
图像分割技术是从图像处理技术,再到后期的图像分析的关键步骤,图像分割结果的好坏,可以说对图像的理解有直接影响。
图像数据的模糊和噪声的干扰是分割问题的两大难题。
到目前为止,还没有一个完美的图像分割方法,可以根据人的意愿精确地分割任何一种图像。
现实图像中景物情况各种不同,具体问题需具体分析,按照实际情况选择得当的方法。
分割成果的好坏或正确与否,到现在为止,尚无一个统一的评价和判断标准,分割的好坏务必从分割的效果和现实应用的场合来判断。
然而,在人类研究图像的历史长河中,仍然积累了许多经典的图像分割方法。
固然这些分割方法不可以适应全部种类的图像分割,可是这些方法却是图像分割方法进一步发展的根基。
实际上,当代一些分割算法恰巧是从经典的图像分割方法中产生出来的。
图像分割法大致可以分为三个种:边缘检测法,阈值分割法和基于区域的图像分割法。
2研究目的视觉是人类最高级的感知器官,所以图像在人类感知中承担着非常重要的角色,这是毋庸置疑的。
本文的主要研究目的是对图像的分割方法进行研究,选择适合本论文的设计方法,然后通过对图像的分割,以达到人眼的最佳视觉效果。
本课题主要是通过对人眼的视觉系统研究,然后选择与人眼视觉系统密切相关的颜色模型进行颜色空间模型之间的相互转换,再对图像分割方法进行比较选择合适的分割方法,通过MATLAB平台实现彩色图像分割,最后对分割后的图像进行比较来获得到最佳的视觉效果。
3 图像处理技术基础3.1 技术背景人类通过眼、鼻、耳、身、舌接收信息,来感知外部世界,从而认识世界和改造世界。
据统计,人类取得的信息中,超过75%是从视觉角度获取的,也就意味着是从图像中获取的。
图像是物体经过反射或透射客观存在的能量,或者由发光物体自身散发的光能量,在人的视觉体统中构成的视觉信息。
客观的世界是三维的,但是一般从客观景物获得的图像是二维的。
简单地说,图像是二维或三维景物展现在人心目中的影像。
若接受并加工辨别视觉信息的是电子计算机,那么就叫做计算机图像处理和识别。
3.2 彩色图像格式由于不同的开发商自己定义的图像格式都不完全一致,因此目前数字图像有多种存储格式。
要想实行数字图像处理,就务必先了解图像文件的各种格式。
一般来说,图像文件都由文件头和图像数据两部分组成的,文件头的容和格式是由制作该图像文件的公司决定的,大致包括文件类型、文件大小、版本号等容。
常见的彩色图像格式包括:BMP格式、GIF格式、TIFF格式、PNG格式、JPEG格式。
下面详细介绍这几种彩色图像文件格式。
1、BMP图像文件格式BMP是英文Bitmap的简写,它是Windows操作系统换图像、图形数据的一种标准格式,其全称是设备独立位图(Device Independent Bitmap,DIB)。
BMP图像文件也称为位图文件,主要包括4个部分:调色板、文件头、位图信息头、位图数据。
2、GIF图像文件格式GIF(Graphics Interchange Format,图像交换文件格式)是由Compuserve公司开发的图像文件格式,目前是在不同的系统平台上交流和传输图像,现已称为BBS和网络上图像传输的通用格式。
GIF格式的所有图像数据均为压缩过的,采用的压缩算法是LZW算法,其性能优于RLE算法,能提供1:1~1:3的压缩比,压缩效率高。
LZW压缩算法的特性在于其能够动态地标记数据流中出现的重复串,并且它把压缩过程中碰到的字符串记载在这字符串表中,下次再遇到这一字符串时,就用一短代码表示它,从而达到了压缩数据量的目的。
3、TIFF图像文件格式TIFF(Tagged Image Format File)格式是由Aldus公司与微软公司共同开发设计的图像文件格式,大部分数据扫描仪扫描输出的图像文件格式均为TIFF。
TIFF格式支持任何大小的图像,从单色的二值图像到24位的真彩色图像,它普遍的应用在单面排版系统及和它有关联的应用程序,并且与计算机的结构、操作系统和图像硬件无关。
TIFF图像文件格式的压缩方式有很多种,如游程编码压缩、LZW压缩、紧缩位法编码压缩等,也有的TIFF图像文件存放在物理介质上,没有进行压缩编码,但存放时尽可能地节约空间。
4、PNG图像文件格式PNG是90年代中期开始开发的图像文件存储格式,其目的是替代GIF和TIFF文件格式。
其格式标准由W3C制定。
PNG的特色:既可使用调色板方式存储颜色,又可以直接存储颜色值;可以存储最高48位彩色图像;采用类似LZW的deflate压缩算法实现无损压缩;可以类似GIF的渐进方式传输图像;支持图像透明显示兼容性好。
5、JPEG图像文件格式JPEG(Joint Photographic Experts Group,联合图像专家组)是由ISO和IEC为静态图像所创立的第一个国际数字图像压缩准则,主要目的是解决专业摄影师所碰到的图像信息过于巨大的问题。
JPEG格式最大的有点是解约存储空间、处理速度快,但由于JPEG是有损压缩,无论压缩比大小如何,图像的信息多多少少会损失,而且被压缩的部分不可恢复,因此图像质量往往有所下降。
3.3 彩色图像分割技术彩色图像分割是数字图像处理领域中一种十分重要的图像分析技术,在对图像的研究和应用中,按照不同领域的不同需求,在某个领域常常只对原始图像中的某些局部感兴趣。
这些目标区域通常来说都具备本身特定的少许诸如纹理、颜色等性质,彩色图像的分割主要按照图像在不同区域的不同特征,从而对图像进行边界或区域上的分割,并从中提取出所关心的目标。
4分水岭分割法分水岭分割法是一种重要的形态学图像分割法,而且具有成熟的迅速算法。
在分水岭分割法中,待分割的图像被当作地形学上被水覆盖的自然地貌,然后将图像中的每个像素的灰度值示意为该点的海拔高度,其每个部分极小值和其影响区域叫做集水盆,而集水盆的边界则是分水岭。
在分水岭分割方法中,由于灰度值的不同,每个局部极小值孕育出互不重合的分割区域,作为分水岭或集水盆地,则各个区域之间的边界叫做分割线或者分水线。
如图1所示在低分辨率下的相似图像经分水岭算法进行初始分割后的结果。
图1 分水岭分割法因为在分水岭分割法中,对应每个局部极小值都孕育出一个分割区域,于是获得的初始分割结果是过分割,于此同时不同颜色之间的边缘几近全数被包括在分水线之中。
所以将属于同一类色彩的初始分割区域根据特定准则进行统一,可以获得预期的效果图。
本文使用一种基于图像空间和颜色关连区域统一标准,按照各个初始分割区域的色彩差别和空间上的邻接关系确定各个区域的合并次序。
依然采用归一化的H 和S 份量来权衡不同区域的色彩差别,如式2-11所示。
因为归一化H 份量是从小到大依次以合拢环状散布,即最小值0和最大值1表示相似的色彩,所以H 份量的间距计算方法不同,如式2所示。
()()()()()22,,,H S D i j D i j D i j =+ (1) ()()()()(){},min ,1H H H H H D i j R i R j R i R j =--- (2) 上式中,i ,j 表示随意2个初始分割区域;RH 代表归一化H 份量的平均值,RS 代表归一化S 份量的平均值;D(i ,j)表示区域i ,j 之间的色彩差别。
两个相邻区域的结合度由公有边界的像素数目以及边界处像素的梯度差决定,如式3所示,N(i ,j)表征结合度。
()()()()(),,,,,x y E i j M x y N i j E i j ∈=∑ (3) 上式中,E(i ,j)表示区域i ,j 之间的边界区域;M 为梯度图像;∣E(i ,j)∣为区域E(i ,j)的像素数量。
色彩差别和结合度一起确定各相邻区域对的归并的优先级,如式4所示,λ是由实验取得,一般取值0.8。
每次将优先级最高的即F(i ,j)值最小的2个相邻区域进行合并,合并后区域的RH 和RS 和相应F(i ,j)重新计算,而后进入下一次合并流程。
()()()(),1,,,,D i j N i j i j F i j i j λλ⎧+-=⎨∞⎩相邻不相邻 (4)结果如图2所示。
图2 区域合并的结果5 彩色图像分割的MATLAB实现5.1 MATLAB语言:分水岭分割法实现图像分割5.1.1 设计流程图3 分水岭分割法设计流程图如图3所示,为分水岭分割法的设计流程图。
它采用了分级阵列结构,按照像素的高低来确定所选元素的优先级。
具体流程:(1)分级队列的初始化,扫描所有标记的邻居像素,将未有归属的邻居像素按优先级不同放入不同优先级的队列;(2)5.1.2 MATLAB程序分水岭分割法代码如下:rgb = imread('xibao.JPG');I = rgb2gray(rgb);imshow(I) %读入彩色图像,将其转化成灰度图像hy = fspecial('sobel');hx = hy';Iy = imfilter(double(I), hy, 'replicate');Ix = imfilter(double(I), hx, 'replicate');gradmag = sqrt(Ix.^2 + Iy.^2);figure, imshow(gradmag,[]), title('梯度幅值图像')% 使用梯度级作为细分功能se = strel('disk', 20);Io = imopen(I, se);figure, imshow(Io), title('图像开操作')Ie = imerode(I, se);Iobr = imreconstruct(Ie, I);figure, imshow(Iobr), title('基于开的重建图像') % 直接使用分水岭变换Ioc = imclose(Io, se);figure, imshow(Ioc), title('闭操作图像') %消除黑斑和标志干细胞Iobrd = imdilate(Iobr, se);Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));Iobrcbr = imcomplement(Iobrcbr);figure, imshow(Iobrcbr), title('基于重建的开闭操作图像')fgm = imregionalmax(Iobrcbr);figure, imshow(fgm), title('腐蚀操作')I2 = I;I2(fgm) = 255;figure, imshow(I2), title('局部极大叠加到原图像')% 去除小瑕疵,使局部极大叠加到原图像上。