CN116205939A - 线条提取方法、线条提取设备和计算机存储介质 - Google Patents
线条提取方法、线条提取设备和计算机存储介质 Download PDFInfo
- Publication number
- CN116205939A CN116205939A CN202310127105.2A CN202310127105A CN116205939A CN 116205939 A CN116205939 A CN 116205939A CN 202310127105 A CN202310127105 A CN 202310127105A CN 116205939 A CN116205939 A CN 116205939A
- Authority
- CN
- China
- Prior art keywords
- image
- line extraction
- extraction method
- line
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 45
- 238000000034 method Methods 0.000 claims abstract description 101
- 230000008569 process Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000001914 filtration Methods 0.000 claims abstract description 30
- 238000003709 image segmentation Methods 0.000 claims abstract description 20
- 238000003708 edge detection Methods 0.000 claims abstract description 19
- 238000005260 corrosion Methods 0.000 claims abstract description 5
- 230000007797 corrosion Effects 0.000 claims abstract description 5
- 239000011664 nicotinic acid Substances 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 10
- 230000000877 morphologic effect Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 23
- 230000000670 limiting effect Effects 0.000 description 21
- 238000004422 calculation algorithm Methods 0.000 description 17
- 230000000694 effects Effects 0.000 description 9
- 235000002566 Capsicum Nutrition 0.000 description 7
- 239000006002 Pepper Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005530 etching Methods 0.000 description 7
- 150000003839 salts Chemical class 0.000 description 7
- 241000722363 Piper Species 0.000 description 6
- 235000016761 Piper aduncum Nutrition 0.000 description 6
- 235000017804 Piper guineense Nutrition 0.000 description 6
- 235000008184 Piper nigrum Nutrition 0.000 description 6
- 206010042674 Swelling Diseases 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000008961 swelling Effects 0.000 description 5
- 210000003254 palate Anatomy 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003628 erosive effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007493 shaping process Methods 0.000 description 3
- 101100346656 Drosophila melanogaster strat gene Proteins 0.000 description 2
- 241000238631 Hexapoda Species 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011430 maximum method Methods 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 235000012434 pretzels Nutrition 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 206010027146 Melanoderma Diseases 0.000 description 1
- 241000758706 Piperaceae Species 0.000 description 1
- 241000519995 Stachys sylvatica Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003592 biomimetic effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 210000004283 incisor Anatomy 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 210000001847 jaw Anatomy 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
Abstract
本公开提供一种线条提取方法,用于对图像中的线条进行提取,该线条提取方法包括:当图像为多色图像时,将图像灰度化;对图像进行滤波以去除噪声;确定图像分割阈值,并且根据图像分割阈值将图像二值化;通过图像形态学处理来处理图像,该图像形态学处理包括腐蚀处理和膨胀处理中的至少一者;对图像进行边缘检测,以确定图像的边缘数据;以及基于边缘数据,拟合得到线条。
Description
技术领域
本公开涉及图像处理,更具体地,涉及一种线条提取方法、线条提取设备和计算机存储介质。
背景技术
随着科学技术的迅猛发展,图像处理技术也正高速发展。图像处理技术主要包括图像数字化、图像增强和复原、图像数据编码、图像分割和图像识别等。作为需要组合上述各类图像处理技术来完成的一项关键课题,曲线提取越来越受到各界关注。然而,现有技术中,缺乏一种较为简便、适应性较强的曲线提取技术。
发明内容
在解决上述问题的本公开的一个实施例中,提供了一种线条提取方法,用于对图像中的线条进行提取,所述线条提取方法包括:对所述图像进行预处理,所述预处理包括:当所述图像为多色图像时,将所述图像灰度化;对所述图像进行滤波以去除噪声;确定图像分割阈值;根据所述图像分割阈值将所述图像二值化;和通过图像形态学处理来处理所述图像;对经预处理的图像进行边缘检测,以确定所述图像的边缘数据;以及基于所述边缘数据,拟合得到所述线条。
在本公开的一实施例中,通过rgb2gray函数来将所述图像灰度化。
在本公开的一实施例中,通过中值滤波来对所述图像进行滤波。
在本公开的一实施例中,通过最大类间方差法来确定所述图像分割阈值。
在本公开的一实施例中,所述图像形态学处理包括腐蚀处理和膨胀处理中的至少一者。
在本公开的一实施例中,通过Sobel算子来对所述图像进行边缘检测。
在本公开的一实施例中,基于MATLAB来实现所述线条提取方法。
在本公开的一实施例中,所述线条提取方法用于提取仿生对象的轮廓线条。
在解决上述问题的本公开的一个实施例中,提供了一种线条提取设备,用于对图像中的线条进行提取,所述线条提取设备包括:预处理装置,所述预处理装置被配置成用于:当所述图像为多色图像时,将所述图像灰度化;对所述图像进行滤波以去除噪声;确定图像分割阈值;根据所述图像分割阈值将所述图像二值化;和通过图像形态学处理来处理所述图像;边缘检测装置,所述边缘检测装置被配置成用于对所述图像进行边缘检测,以确定所述图像的边缘数据;以及线条拟合装置,所述线条拟合装置被配置成用于基于所述边缘数据,拟合得到所述线条。
在解决上述问题的本公开的一个实施例中,提供了一种计算机存储介质,所述计算机存储介质存储有指令,所述指令在被执行时使处理器执行如以上实施例所述的线条提取方法。
根据本公开,能够实现更为简便并且适应性更强的线条提取,适合非计算机领域人士使用,并且能够广泛应用于诸如仿生工程线条提取之类的各类线条提取中。
附图说明
为了能够详细地理解本公开,可参考实施例得出上文所简要概述的本公开的更具体的描述,一些实施例在附图中示出,为了促进理解,已尽可能使用相同附图标记来标示各图所共有的相同要素。然而,应当注意,附图仅仅示出本公开的典型实施例,并且因此不应视为限制本公开的范围,因为本公开可允许其它等效实施例,在附图中:
图1是示出根据本公开的实施例的一个示例性线条提取方法的示意流程图;
图2是示出根据本公开的实施例的彩色图像RGB模型的示意性示图;
图3是示出根据本公开的实施例的三种边缘模型的示意图;
图4是示出根据本公开的实施例的对斜坡模型水平灰度求导所得的结果的示意图;
图5是示出根据本公开的实施例的三种边缘算子的示例性模板的示意图;
图6是示出根据本公开的实施例的另一个示例性线条提取方法的示意流程图;
图7是示出根据本公开的实施例的一个示例性线条提取设备的示意性框图。
可以预期的是,本公开的一个实施例中的要素可有利地适用于其它实施例而无需赘述。
具体实施方式
以下通过具体实施例来进行说明,本领域技术人员可由本说明书所公开的内容清楚地了解本公开的其它优点与技术效果。此外,本公开并不限于下述具体实施例,也可通过其它不同的实施例加以施行或应用,并且,对于本说明书中的各项具体内容,可在不背离本公开的精神下进行各种修改与变更。
下面,基于附图对本公开的具体实施例进行详细叙述。所列举的附图仅为简单说明,并非依实际尺寸描绘,未反应出相关结构的实际尺寸,先予叙明。为了便于理解,在各附图中使用了相同的参考标号,以指示附图中共用的相同元素。附图并未依比例绘制并且可为了清晰而被简化。一个实施例的元素及特征可有利地并入其它实施例中,而无须进一步叙述。
本文中,术语“线条”应作广义理解,其可包括曲线、直线、折线、块面(其可看作线条集合)等。
本公开所涉及的数字图像处理的基础原理
数字图像是由二维空间的像素组成,因此,可将一幅尺寸为m×n的数字图像定义为一个二维函数,例如以下函数:
f(x,y)x∈(0,m-1),y∈(0,n-1)(1)
彩色图像通用的颜色模型是RGB模型,在彩色图像中每个像素由红(Red)、绿(Green)、蓝(Blue)三个分量表示,每个通道取值范围是0~255。数据类型可为8位无符号整形(unit8)。可以认为一个彩色图像是由三页组成的,分别是R、G、B这三页,每一页都由一个二维矩阵组成,这三个二维矩阵的叠加构成了彩色图像。红绿蓝三色可分别被视为3个单色,其强度变化同样使用灰度级表示。当L=0时,表示黑色;当L=255时,表示红色或绿色或蓝色,L值越大,像素颜色越接近该颜色。图1示出了一个示例性的彩色图像的RGB模型。
灰度图像可为单色图像,即每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。数据类型可为8位无符号整形(unit8)。可以认为灰色图像是由一页组成,这一页并不一定是R、G、B中的一页,也可能是三者的叠加,但这一页一定是一个二维矩阵。图像中每个像素可呈现黑色、白色和灰色中一种,这种显示黑色到白色之间变化的灰度色可被调成为灰度级L,其中黑色在灰度级区间中的值可为最小,白色的值可为最大。每像素的灰度值越大,则像素颜色越浅。可将黑色灰度值设为0,白色为Lmax-1。由于数据类型一般为8位无符号整形(unit8),根据灰度级等式:
L=2k (2)
其灰度级为256,所以,白色灰度值为255。
二值图像即黑白图像,其每个像素点只有两种可能,0和1。0代表黑色,1代表白色。数据类型通常为1个二进制位。
参见图2,示出基于上述原理的本公开所涉及的线条提取方法的一个非限制性示例即方法100。方法100可以用于提取图像中的线条。图像可为通过各种方式(例如,通过相机、探头等)所捕获的任意图像。在原始图像为非数字图像的情况下,可经由数字化将原始图像转变为数字图像。
方法100可以开始于步骤S101。在步骤S101处,当图像为多色图像(例如双色、三色、四色图像等)时,可将图像灰度化。需要注意的是,如果图像原本即为单色图像,则可以省略步骤S101。在步骤S102处,可对图像进行滤波以去除噪声。在步骤S103处,可确定图像分割阈值。在步骤S104处,可以根据在步骤S104处确定的图像分割阈值将图像二值化。在步骤S105处,可以通过图像形态学处理来处理图像。步骤S101至S105可共同构成针对图像的预处理。在步骤S106处,可对经预处理(换言之,经步骤S101至S105处理以后)的图像进行边缘检测,以确定图像的边缘数据。在步骤S107处,可基于所确定的边缘数据,来拟合得到线条。由此,可提取得到图像中的线条,方法100可结束。
需要说明的是,在不存在逻辑上的矛盾或冲突的情况下,上述的步骤S101至S107中的一部分或者全部可以以与所示的顺序不同的顺序来进行,和/或同时进行。此外,也可将其中的一个或多个步骤分拆成多个子步骤来进行。
下文中,对方法100的各个步骤(步骤S101至S107)中所涉及的概念及细节进行进一步的详细说明。
灰度化
为了简化样本图像的信息量,可将多色图像(例如,三色图像等彩色图像)进行灰度化处理从而变为单色图像,即,将多色模型(例如,RGB模型)转变成灰度级L模型。灰度化的方法可包括最大值法、平均值法、加权平均值法、HLS模型算法等方法,它们可以分为线性方法和非线性方法两种。
线性灰度化方法的等式可为:
l=crr+cgg+cbb (3)
式中,l为灰度化的灰度值,r、g、b分别为R、G、B的灰度值,cr、cg、cb分别为R、G、B的转换系数。其中cr、cg、cb≥0,并且cr+cg+cb=1。当cr=1、cg=cb=0时,算法为只考虑红色分量的单一分量法。研究表明,人的视觉对绿色的敏感度最高,对红色次之,对蓝色的敏感度最低。例如,当cr=0.299、cg=0.587、cb=0.114时,算法属于加权平均值法,此时所得灰度图最符合人眼视觉感受,能得到最合理的灰度图像。该方法可以由MATLAB、C++、C等各种适用的编程语言或OpenCV等各种适用的软件库中的rgb2gray函数的原理及算法来实现。当cr=cg=cb=1/3时,算法可为平均值法,在编程时进行整数运算,避免了浮点型运算,速度比加权平均值法快,可形成较柔和的灰度图像。
非线性灰度化算法包括最大值法和HLS模型算法。最大值法的等式可为:
l=max(r,g,b) (4)
该算法可以从每个像素R、G、B分量中选取灰度值最大的分量进行保留,完全或部分舍弃了另外两个分量的灰度信息。最大值法可形成亮度很高的灰度图像。
HLS模型算法的等式可为:
l=[max(r,g,b)+min(r,g,b)]/2 (5)
该算法可以减少边缘灰度噪声,改善平滑效果。相比于最大值法,该算法可以多保留一个分量的灰度信息。
作为一个非限制性的示例,从运算简便方面考虑,可以采用rgb2gray函数(例如,MATLAB中自带的rgb2gray函数)来对图像进行图像灰度化处理。
图像滤波
图像噪声是图像在获取或传输过程中受到随机信号干扰,妨碍人们对图像理解及分析的信号。可将图像噪声看作多维随机过程,因而描述噪声的方法完全可以借用随机过程的描述,即使用其概率分布函数和概率密度分布函数来描述。图像噪声的产生可来自图像获取中的环境条件和传感元器件自身的质量。图像在传输过程中产生图像噪声的主要因素可为所用的传输信道受到噪声污染。
噪声按概率密度函数可以分为高斯噪声、椒盐噪声、瑞利噪声、伽马噪声等。本文中,图像的背景部分可出现椒盐噪声,该椒盐噪声是数字图像中的常见噪声,可以是由图像传感器、传输信道及解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声常由图像切割产生。椒盐噪声可以包括两种噪声:盐噪声(salt noise)和椒噪声(pepper noise)。盐噪声一般是白色噪声,属于高灰度噪声,而椒噪声一般是黑色噪声,属于低灰度噪声。两种噪声可同时出现,呈现在图像上就是黑白杂点。针对图像去除脉冲干扰及椒盐噪声最常用的算法是中值滤波。图像模拟添加椒盐噪声可以是通过随机获取像素值点并设置为高亮点来实现的。椒盐噪声可以表现为某个区域内呈现较大或较小灰度值的像素点,与周围像素的灰度值形成较大差值。脉冲噪声的概率密度函数可为:
式中,p(l)为灰度值为l的像素点出现的概率,且0≤Pa≤1,0≤Pb≤1。当a>b时,Pa表示出现亮度的概率,Pb表示出现暗点的概率,反之则Pa、Pb表示含义相反。当a=0并且b=255时,表示图像中有Pa概率出现黑点(胡椒点),有Pa概率出现白点(盐点)。
滤波可以用于抑制或消除图像中因拍摄、传输过程中受干扰而产生的噪声。滤波应当使图像平滑,使图像尽可能接近原图像的质量,主要是为了尽量保留图像的细节特征和边缘信息,其处理结果将直接影响后续的图像处理和数据的可靠性。滤波方法可包括均值滤波、中值滤波、高斯低通滤波等。
均值滤波属于空间域线性滤波,其原理是使用某一像素点周围所有像素的平均灰度值代替中心像素点的灰度值。该方法可以有效地平滑点状噪声,但也会对图像边缘产生同样效果,难以很好地保存边缘。作为一个非限制性的示例,在MATLAB中可通过以下代码来实现均值滤波:
A=fspecial('average',[3,3]);%MATLAB中自带值滤波函数
b=imfilter(C,A);
中值滤波可用于图像处理,并可以在去噪复原中取得较好的效果。中值滤波器是基于次序统计完成信号恢复的一种典型的非线性滤波器,属于空间域非线性滤波,其基本原理是把图像或序列中心点位置的值用该域的中值替代,它将中心像素点领域内所有像素的灰度值按大小进行排序,将序列中的中值作为中心点像素的灰度值,具有运算简单、速度快、除噪效果好等优点。该方法被广泛应用于消除脉冲噪声,同时可较好地保持边缘。作为一个非限制性的示例,在MATLAB中可通过以下代码来实现中值滤波:
salt_fit=medfilt2(image,[3 3]);%采用二维中值滤波函数对图像滤波,滤波窗口是3*3
高斯低通滤波属于频域线性滤波,它对中心像素点领域的像素进行加权平均,用计算所得灰度值代替中心点像素灰度值,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出,主要用于平滑服从正态分布的噪声,例如高斯噪声。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1,而高斯滤波器的模板系数则随着距离模板中心的增大而减小。所以,高斯滤波器相比于均值滤波器对图像模糊程度较小。高斯低通滤波器的传输函数可定义为:
式中,D(u,v)表示点(u,v)到中心的距离,以高斯低通滤波器为例,利用MATLAB设计滤波器(设D0为50)。作为一个非限制性的示例,在MATLAB中可通过以下代码来实现高斯低通滤波:
可使用这3种滤波算法中的一种或多种来对图像进行处理。均值滤波和中值滤波可对背景中的脉冲噪声有更好的抑制效果,但均值滤波和高斯低通滤波可能使得图像中的线条边缘(诸如,作为仿生对象的蝗虫上颚的边缘)更加模糊,而中值滤波将边缘保存得较为完好。因此,作为一个非限制性的示例,可以选择使用中值滤波来抑制图像中的脉冲噪声。
阈值分割与图像二值化
阈值分割和图像二值化是数字图像处理中的一种简单且高效的图像分割技术。对于灰度图来说,可以是将图像中的像素分成两种灰度值,分别是0和255,最终图像被分割为只有黑色和白色的两部分。该方法包括:设置一个阈值T,0≤T≤255,像素点f(x,y)的灰度值为l(x,y);当l(x,y)>T时,l(x,y)=255,变成白色,而当l(x,y)≤T时,l(x,y)=0,变成黑色;遍历图像中的每个像素点,得到二值图。用等式可表示为:
由于阈值的确定可直接决定相关联的二值化的结果,因此,不同的算法实际是针对阈值的计算方法。作为非限制性的示例,本文所涉及的阈值分割算法可以包括:迭代法、最小误差法、最大类间方差(Otsu)法等。
迭代法是一种比较简单的阈值分割方法,其原理可以包括:设置阈值的初始值为图像灰度最大值和最小值的平均;根据阈值划分图像为目标和背景,并分别将其灰度值求和;计算目标和背景的平均灰度,并判断阈值是否等于目标和背景平均灰度的和的平均,若相等,则阈值即为其平均,否则,将阈值设置为目标和背景灰度平局值的和的一半;继续迭代,直至计算出阈值。该方法的示例性过程可如下:
第1步:计算图像的最大灰度值、最小灰度值,并取两者的平均值作为初始阈值;
第2步:根据阈值划分图像为目标和背景,并分别计算其灰度均值;
第3步:判断阈值是否等于灰度均值,若相等则退出循环,阈值为其灰度均值,否则,将灰度均值赋给阈值,转到第2步继续执行迭代。
作为一个非限制性的示例,在MATLAB中可通过以下代码来实现迭代法:
disp(strcat('迭代的阈值:',num2str(tk)));%在command window里显示出:迭代的阈值:阈值
newI=im2bw(I,double(tk)/255);%函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成为二值图像
最小误差法是一种基于直方图的阈值分割方法。其原理可以包括:假设灰度图像由目标和背景组成,且目标和背景满足混合高斯分布,计算目标和背景的均值、方差,根据最小分类误差原理得到的最小误差目标函数,取目标函数最小时的阈值即为最佳阈值,并且按此阈值将图像分割为二值图像。该方法的过程可以是:
第1步:计算目标和背景的均值、方差;
第2步:根据最小分类误差原理得到最小误差目标函数;
第3步:取使目标函数最小值为阈值。
作为一个非限制性的示例,在MATLAB中可通过以下代码来实现最小误差法:
最大类间方差(Otsu)法是一种自适应的阈值确定的方法。其原理可包括:根据灰度特性,将图像分为目标和背景两个部分,目标和背景间的类间差越大,说明构成图像的两部分的差别越大,因此当类间方差最大时,意味着两类像素错分的概率最小,此时的阈值最佳。该方法的过程可如下:
第1步:计算每个灰度值的概率并计算目标和背景的分布概率以及平均灰度值和方差;
第2步:计算类间差;
第3步:取类间差最大的灰度值作为阈值。
参考代码如下:
I=imread('目标图像');
bw=graythresh(I);
disp(strcat('otsu阈值分割的阈值:',num2str(bw*255)));%在commandwindow里显示出:迭代的阈值:阈值
newII=im2bw(I,bw);
imshow(newII);
title('目标图像的otsu阈值分割');
发明人发现:一维最大熵法效果由于阈值过高,导致图像绝大部分被分为黑像素;矩量保持法阈值略高,将尖端部分灰度值较低像素置为黑色,丢失了部分细节;Otsu法丢失的细节最少,分割效果最佳。因此,作为一个非限制性的示例,可以采用Otsu法来对图像进行二值化。
形态学处理
图像处理中的形态学是指利用数学形态学作为工具,提取或描绘图形中的区域形状。本文中,可使用形态学图像处理中的腐蚀处理和膨胀处理中的一者或两者。腐蚀处理可以将图像中目标对象的细小部分去除,例如狭窄的连接、突出部分。与腐蚀处理相比,膨胀处理可填充小洞并且连接缺口。
本文可利用腐蚀处理来去除图像中分离的白像素,去除突起部分,再利用膨胀处理来平滑经腐蚀处理过的轮廓(例如仿生对象的轮廓,更具体而言,例如要仿生的蝗虫上颚的轮廓),并且填充图像中的孔洞。经过腐蚀处理和膨胀处理以后,图像轮廓得到平滑,内部的细小孔洞也被填充。
腐蚀处理和膨胀处理是图像形态学处理中的两个基本的操作。膨胀处理可以是将与物体接触的所有背景点合并到该物体中、使边界向外部扩张的过程,可以用于填补物体中的空洞。腐蚀处理是一种消除边界点、使边界向内部收缩的过程,可以用于消除小且无意义的物体。通俗来讲,膨胀处理可将亮的区域变大,腐蚀处理可将暗的区域变大。图像的膨胀与腐蚀操作通常可包括两种操作方法:开运算(opening)和闭运算(closing)。
开运算操作中,可对图像先腐蚀再膨胀,其优点是能够消除小团块物体,消除高于邻近点的孤立点,平滑物体轮廓,断开较窄狭颈。闭运算操作中,可对图像先膨胀再腐蚀,其优点为能够消除小型黑色区域,填补轮廓线中的断裂。可使用MATLAB中的腐蚀函数imerode和膨胀函数imdilate,来进行针对图像的膨胀处理和腐蚀处理。作为一个非限制性的示例,可采用开运算来处理图像。
经过形态学处理后,细小孔洞被填充,但面积较大孔洞无法使用小尺寸模板的膨胀进行填充。可以使用孔洞填充来处理面积较大的孔洞。作为一个非限制性的示例,可以利用MATLAB中的imfill()函数进行孔洞填充。
边缘检测
经过孔洞填充后,可获得二值图像,可以从中提取3个特征量。可以对图像进行边缘检测处理,提取另外3个特征量,获得边缘图像。
数字图像中的边缘是指图像中灰度突变的像素的集合,根据图像中边缘附近的灰度变化,可以分为3种边缘模型,如图3所示。
图3中,条状灰度图为边缘附近像素,条状图下方对应水平方向像素灰度值的变化。台阶模型中边缘两侧像素的灰度值产生突变,二值化图像中的边缘属于此类模型;斜坡模型最为常见,因为图像中噪声的普遍存在,边缘会被模糊,呈现出灰度值逐渐增大或减小;屋顶模型常见于线条附近区域,亮色线条两侧像素的灰度值先增大再减小,可在线条中心到达最大值。对图3的斜坡模型中的灰度值变化曲线进行一阶求导和二阶求导,可以得到图4所示结果。
从图4中可见,非边缘处的一阶导数为0,边缘处的一阶导数不为0,由黑像素向白像素过渡时,一阶导数为正,反之为负。在斜坡的两端,二阶导数一正一负,黑像素端为正,白像素端为负,且两端的二阶导数值连线与零灰度轴产生交点,称为零交叉点,零交叉点正好位于边缘的中心。因此,可以根据二阶导数的正负值确定边缘两侧的灰度值情况,根据二阶导数极值间的零点确定边缘。
由于像素的坐标是离散量,因此使用差分进行近似计算,计算等式为
再根据边缘算子模板,对中心像素点周围的像素点进行加权,计算得到x和y方向上的一阶偏导数。作为非限制性示例,边缘算子(又可称为边缘检测器)可以包括Roberts算子、Canny算子、Sobel算子等。图5示意性地示出Roberts算子、Canny算子、Sobel算子的示例性模板。
Roberts算子(也可以称作Roberts检测器)根据任意一对互相垂直方向上的差分可用来计算梯度的原理,采用对角线方向相邻两像素之差。Roberts算子较为简单,但具有一些功能上的限制。例如,它是非对称的,而且不能检测诸如45°倍数的边缘。然而,它还是可以经常用于硬件实现中,因为它既简单又快速。
Canny算子(也可以称作Canny检测器)的效果较好,更适合用于检测真正的弱边缘。Canny算子给出了一个好的边缘检测算子的3个指标:低失误率,即真正的边缘点尽可能提取,非边缘点尽可能不提取;高位置精度,即检测的边缘应尽可能接近真实边缘;对每一个边缘点有唯一的响应,即得到单像素宽度的边缘。
Sobel算子(也可以称作Sobel检测器)很容易在空间上实现,边缘检测效果较好,且受噪声的影响也较小。随着邻域增大,抗噪性会更好,但计算量也会增大,得出的边缘也会相应变粗。Sobel算子会检测出许多伪边缘,边缘定位精度不够高,在精度要求不高时是一种较常用的边缘检测方法。
对与边缘检测的效果评价,主要遵循三个标准:低错误率,即尽可能多的检测实际边缘,尽可能减少因噪声产生的错误边缘;高定位性,检测的边缘应当与实际边缘尽量接近;最小响应,对边缘仅产生一次响应,降低多次响应的概率。作为一个非限制性的示例,综合三个评价标准,可以选择Sobel算子以用于边缘检测。
利用边缘检测,可以提取图像中的边缘数据组,从而拟合获取图像中的线条,由此可以提取得到图像中的线条。
作为一个非限制性实施例,可以利用MATLAB软件获取仿生对象(例如,蝗虫上颚口器)的边缘线条。例如,分别利用软件中的rab2gray、imadjust、sobel等函数命令来对所要提取的仿生对象(例如,蝗虫的上颚切齿叶)的轮廓结构进行图像处理,提取边缘数据(或边界数据),其主干程序例如可如下:
基于以上代码,可以提取图像中的仿生对象位置(例如,蝗虫的上颚切口位置)的边缘数据组,从而拟合获取线条。例如,可利用MATLAB软件中的Curve Fitting Tool工具处理该边缘数据组,分别对各部分线条进行拟合,以获取仿生线条函数方程。
需要说明的是,以上所列举出的代码为示例性的而不是限制性的。可通过改变其中的一部分或全部代码来实现相同或者相似的功能,而这种改变仍然落在本文公开范围内。
在不存在逻辑上的矛盾或冲突的情况下,上述的步骤S101至S107中的一部分或者全部可以以与所示的顺序不同的顺序来进行,和/或同时进行。此外,也可将其中的一个或多个步骤分拆成多个子步骤来进行,或者增加一个或多个其他的步骤。
例如,作为一个示例,图6示出了本公开涉及的线条提取方法的另一个非限制性示例即方法200。方法200可以开始于步骤S201。在步骤S201处,可对图像进行采集。在步骤S202处,当采集的图像为多色图像(例如双色、三色、四色图像等)时,可将图像灰度化。需要注意的是,如果图像原本即为单色图像,则可以省略步骤S202。在步骤S203处,可对图像的灰度进行调整。在步骤S204处,可对图像进行邻域操作。在步骤S205处,可对图像进行滤波,以去除噪声。在步骤S206处,可通过图像形态学处理来处理图像,诸如对图像进行膨胀处理和/或腐蚀处理。在步骤S207处,可确定图像分割阈值,并且根据该图像分割阈值将图像二值化。在步骤S208处,可对图像进行孔洞填充。步骤S201至S208可共同构成针对图像的预处理。在步骤S209处,可对经预处理(换言之,经步骤S201至S208处理以后)的图像进行边缘检测,以确定图像的边缘数据。在步骤S210处,可基于所确定的边缘数据,来拟合得到线条。由此,可提取得到图像中的线条,方法200可结束。
图7示出了本公开所涉及的线条提取设备的一个非限制性示例即设备300。设备300可以用于对图像中的线条进行提取。设备300可以包括预处理装置310、边缘检测装置320和线条拟合装置330。预处理装置310可被配置成用于:当图像为多色图像时,将图像灰度化;对图像进行滤波以去除噪声;确定图像分割阈值;根据图像分割阈值将图像二值化;和通过图像形态学处理来处理图像。边缘检测装置320可以被配置成用于对图像进行边缘检测,以确定图像的边缘数据。线条拟合装置330可以被配置成用于基于边缘数据,拟合得到线条。由此,设备300可实现图像线条的提取。
以上所说明的各方法可经由各种算法实现,包括可通过MATLAB、C++、C等各种编程语言或OpenCV等各种库而实现的各种算法。
在某些实施例中,上述各实施例中的方法所包括的操作可同时地发生、实质上同时地发生、或以不同于附图所示的次序而发生。
在某些实施例中,上述各实施例中的方法所包括的操作的全部或部分可选地可以由程序来自动执行。在一个示例中,本发明可以被实施作为存储在用于与计算机系统一起使用的计算机可读存储介质上的程序产品。程序产品的(多个)程序包括实施例的功能(包括本文所述的方法)。说明性计算机可读存储介质包括但不限于:(i)不可写存储介质(例如,计算机内的只读存储器装置,诸如可通过CD-ROM机读取的CD-ROM盘、闪存、ROM芯片或任何类型的固态非易失性半导体存储器),在该不可写存储介质上的信息被永久存储;以及(ii)可写存储介质(例如,盘存储或硬盘驱动或者任何类型的固态随机存取半导体存储器),在该可写存储介质上存储可变动信息。当实施指示本文所述的方法的功能的计算机可读指令时,这种计算机可读存储介质是本发明的实施例。
本公开所涉及的用于线条提取的方法100、200以及设备300等可以实现较强的适应性,适合非计算机领域人士使用,能够广泛应用于各类线条提取,包括但不限于仿生工程中的各种外形曲线提取。作为非限制性应用例,由于仿生刀片切割茎秆与昆虫口器切割植物纤维作业原理相似,基于仿生学理论,可以将昆虫口器作为仿生对象,利用方法100、200、设备300等,对轮廓曲线进行提取,将其轮廓曲线应用于仿生刀片的切割刃上,从而达到仿生割刀高效切割茎秆纤维的目的。
以上详细描述了本公开的可选实施例。但是应当理解,在不脱离本公开的广义精神和范围的情况下可以采用各种实施例及变形。本领域的普通技术人员无需创造性劳动就可以根据本公开的构思做出诸多修改和变化。作为非限制性的示例,本领域技术人员可将上述系统或结构中的各个部分中的一个或多个进行省略或者于上述系统或结构中添加一个或多个部分,或用其他的具有相同或者相似的功能的部分代替本实施例中所涉及的各种结构或系统中的一部分或者全部。因此,凡本领域技术人员依本公开的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应属于由本公开的权利要求书所确定的保护范围内。
Claims (10)
1.一种线条提取方法,用于对图像中的线条进行提取,所述线条提取方法包括:
对所述图像进行预处理,所述预处理包括:当所述图像为多色图像时,将所述图像灰度化;对所述图像进行滤波以去除噪声;确定图像分割阈值;根据所述图像分割阈值将所述图像二值化;和通过图像形态学处理来处理所述图像;对经预处理的图像进行边缘检测,以确定所述图像的边缘数据;以及基于所述边缘数据,拟合得到所述线条。
2.如权利要求1所述的线条提取方法,其特征在于,通过rgb2gray函数来将所述图像灰度化。
3.如权利要求1所述的线条提取方法,其特征在于,通过中值滤波来对所述图像进行滤波。
4.如权利要求1所述的线条提取方法,其特征在于,通过最大类间方差法来确定所述图像分割阈值。
5.如权利要求1所述的线条提取方法,其特征在于,所述图像形态学处理包括腐蚀处理和膨胀处理中的至少一者。
6.如权利要求1所述的线条提取方法,其特征在于,通过Sobel算子来对所述图像进行边缘检测。
7.如权利要求1所述的线条提取方法,其特征在于,基于MATLAB来实现所述线条提取方法。
8.如权利要求1所述的线条提取方法,其特征在于,所述线条提取方法用于提取仿生对象的轮廓线条。
9.一种线条提取设备,用于对图像中的线条进行提取,所述线条提取设备包括:预处理装置,所述预处理装置被配置成用于:当所述图像为多色图像时,将所述图像灰度化;对所述图像进行滤波以去除噪声;确定图像分割阈值;根据所述图像分割阈值将所述图像二值化;和通过图像形态学处理来处理所述图像;边缘检测装置,所述边缘检测装置被配置成用于对所述图像进行边缘检测,以确定所述图像的边缘数据;以及线条拟合装置,所述线条拟合装置被配置成用于基于所述边缘数据,拟合得到所述线条。
10.一种计算机存储介质,所述计算机存储介质存储有指令,所述指令在被执行时使处理器执行如权利要求1至8中任一项所述的线条提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127105.2A CN116205939A (zh) | 2023-02-16 | 2023-02-16 | 线条提取方法、线条提取设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127105.2A CN116205939A (zh) | 2023-02-16 | 2023-02-16 | 线条提取方法、线条提取设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116205939A true CN116205939A (zh) | 2023-06-02 |
Family
ID=86510716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310127105.2A Pending CN116205939A (zh) | 2023-02-16 | 2023-02-16 | 线条提取方法、线条提取设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116205939A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152447A (zh) * | 2023-11-01 | 2023-12-01 | 东莞市京品精密模具有限公司 | 一种冲切模具智能管理方法及系统 |
-
2023
- 2023-02-16 CN CN202310127105.2A patent/CN116205939A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117152447A (zh) * | 2023-11-01 | 2023-12-01 | 东莞市京品精密模具有限公司 | 一种冲切模具智能管理方法及系统 |
CN117152447B (zh) * | 2023-11-01 | 2024-02-02 | 东莞市京品精密模具有限公司 | 一种冲切模具智能管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114418957B (zh) | 基于机器人视觉的全局和局部二值模式图像裂缝分割方法 | |
CN106228138A (zh) | 一种融合区域和边缘信息的道路检测算法 | |
CN102360421B (zh) | 一种基于视频流的人脸识别方法及系统 | |
US8712114B2 (en) | Elegant solutions for fingerprint image enhancement | |
Tahseen et al. | Binarization Methods in Multimedia Systems when Recognizing License Plates of Cars | |
CN107066952A (zh) | 一种车道线检测方法 | |
CN115131351B (zh) | 基于红外图像的机油散热器检测方法 | |
CN110660065A (zh) | 一种红外故障检测识别算法 | |
CN104182976B (zh) | 一种野外运动目标精细化提取方法 | |
CN102609903B (zh) | 一种基于边缘流的活动轮廓模型图像分割的方法 | |
CN115171218A (zh) | 一种基于图像识别技术的物资送样异常行为识别系统 | |
CN113780110A (zh) | 一种图像序列中弱小目标实时检测方法及设备 | |
CN116205939A (zh) | 线条提取方法、线条提取设备和计算机存储介质 | |
CN116843626A (zh) | 一种基于多特征融合的机器视觉钢丝绳表面缺陷检测方法 | |
CN109191436A (zh) | 基于视觉显著性谱残差方法的低剂量ct肺结节检测算法 | |
Gupta et al. | Fast single image haze removal method for inhomogeneous environment using variable scattering coefficient | |
CN115578366A (zh) | 农机无人驾驶摄像头脏污检测方法、系统、介质及设备 | |
CN115272362A (zh) | 一种数字病理全场图像有效区域分割方法、装置 | |
CN112288780B (zh) | 多特征动态加权的目标跟踪算法 | |
CN118015064A (zh) | 一种基于图像技术的椭圆形目标检测方法以及计算机可读存储介质 | |
Gong et al. | Removing scattered light in biomedical images | |
CN111179289B (zh) | 一种适用于网页长图宽图的图像分割方法 | |
CN110097569B (zh) | 基于颜色马尔科夫链显著性模型的油罐目标检测方法 | |
CN110930358A (zh) | 一种基于自适应算法的太阳能面板图像处理方法 | |
Khan et al. | Shadow removal from digital images using multi-channel binarization and shadow matting |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |