一种图像目标区域提取的方法及系统的制作方法

文档序号:10553361阅读:764来源:国知局
一种图像目标区域提取的方法及系统的制作方法
【专利摘要】本发明公开了一种图像目标区域提取的方法及系统,在对待提取图像的二值图像进行目标区域提取的过程中,引入了过程图像和结果图像两个变量,若二值图像与过程图像不相等,则对该二值图像进行外延,更改二值图像矩阵值,并对结果图像进行赋值,将二值图像矩阵的连通域在结果图像对应的结果矩阵中标记为不同的编号,按照该编号,将联通域扩展为外接矩形,并将该外接矩形内所有点赋值为1,然后再次判断二值图像矩阵值更改后的二值图像与过程图像是否相等,如此循环,直至二值图像与过程图像相等,则将当前的结果图像作为目标区域的提取结果图像进行输出。因此,本发明实现了图像中目标区域的自动提取,从而解决了现有技术中的问题。
【专利说明】
一种图像目标区域提取的方法及系统
技术领域
[0001] 本发明涉及图像处理技术领域,更具体的说,涉及一种图像目标区域提取的方法 及系统。
【背景技术】
[0002] 目标区域提取是图像处理以及信息应用的重要手段之一,其主要目的是将图像中 感兴趣的区域(称为目标区域)识别并提取以供研究者使用。当对同一地面场景同时获取了 高分辨率彩色图像和低分辨率高光谱图像时,则可使用现有的高光谱图像目标探测算法对 低分辨率高光谱图像进行目标区域自动提取,得到一个与低分辨率高光谱图像大小相同的 二值图像。但是由于高光谱图像目标探测算法有可能将不是目标区域的地物识别为目标, 即产生"虚警",这种情况下,需要根据二值图像所示目标位置在高分辨率彩色图像上进行 人工筛选,即由有经验的判读人员根据地物的形状、纹理及与周边地物的关系判断目标的 真实性,完成图像目标区域提取。
[0003] 当前遥感卫星可实现对同一地面场景高分辨率彩色图像和低分辨率高光谱图像 的获取,但是由于获取图像的数据量巨大,限于数据传输宽带和卫星过境时间,获取的高分 辨率彩色图像和低分辨率高光谱图像无法全部下传至地面。因此,需要适量减少遥感卫星 下传的数据量。
[0004] 假设高光谱图像目标探测过程可以实现在轨实时处理,那么可以在遥感卫星获取 图像时同步获取图像对应的地理信息,将高光谱图像目标探测结果自动换算成目标探测结 果高分辨率图像,该图像为二值图像,图像大小与高分辨率彩色图像一致。但事实上,判读 人员只关注高分辨率彩色图像中疑似目标的区域,即目标探测结果高分辨率图像中标记为 1的点及其周边区域,其余区域对目标筛选并无帮助,因此如果能够实现目标探测结果高分 辨率图像中目标区域的自动提取,得到"目标区域标记结果",则可根据此结果裁切高分辨 率彩色图像,得到目标区域的彩色图像,将这些目标区域彩色图像(而不是整个高分辨率 彩色图像)下传,从而减少遥感卫星下传的数据量。
[0005] 综上,如何提供一种图像目标区域提取的方法及系统,实现图像中目标区域的自 动提取是本领域技术人员亟待解决的技术问题。

【发明内容】

[0006] 有鉴于此,本发明公开一种图像目标区域提取的方法及系统,以实现图像中目标 区域的自动提取。
[0007] -种图像目标区域提取的方法,包括:
[0008]获取待提取图像的二值图像image和所述二值图像image的外沿距离s,其中,所述 二值图像image为r行、c列的二维数组;
[0009]分别将过程图像process和结果图像result的初始值赋值为零矩阵,所述零矩阵 为r行、c列的二维数组;
[0010] 判断所述二值图像image和所述过程图像process是否相等;
[0011]如果是,则将所述结果图像result作为所述目标区域的提取结果图像进行输出; [0012]如果否,则将所述二值图像image的矩阵值赋值给所述过程图像process,并继续 执行下一步;
[0013]根据公式⑴对所述二值图像image进行外延,生成外延二值图像对应的外沿矩阵 image_temp,并将所述外延矩阵image_temp作为所述二值图像image当前对应的二值图像 矩阵值; ima^c temp ~ zeros(r + 2s, c + 2.v) , , x
[0014] ° - 1 , , (1) ; image tempi s + s,s + 1: + a ) = image
[0015] 根据公式(2)生成所述结果图像result对应的结果矩阵result_l;
[0016] result_l=zeros(r+2s,c+2s) (2);
[0017]将所述二值图像image的二值图像矩阵的联通域在所述结果矩阵result_l中标记 为不同的编号;
[0018]按照所述结果矩阵result j中的编号,将所述联通域扩展为外接矩形,并将所述 外接矩形内所有点赋值为1,并再次判断二值图像矩阵值为所述外延矩阵image_temp的所 述二值图像image和重新赋值的所述过程图像process是否相等。
[0019]优选的,所述将所述二值图像image的二值图像矩阵的联通域在所述结果矩阵 result_l中标记为不同的编号,包括:
[0020]将所述二值图像image中各像元image(i,j)的坐标进行初始化,令i = s+1,j = s+ 1,其中,(i,j)指的是所述二值图像image从左上角算起的第i行、第j列;
[0021 ] 判断;Kr+s是否成立;
[0022] 如果i<r+s不成立,则根据公式(3)恢复所述结果矩阵result」的大小;
[0023] result_l=result_l(s+1:r+s,s+l:c+s) (3)
[0024] 如果i彡r+s成立,则判断j彡c+s是否成立;
[0025] 如果j彡c+s不成立,则令i = i+l,并再次判断;Kr+s是否成立;
[0026]如果j彡c+s成立,贝lj判断所述外延二值图像中的各像元image_temp(i,j)是否等 于1;
[0027] 如果image_temp(i,j)辛1,则令j = j+1,并再次判断j <c+s是否成立;
[0028]如果image_temp(i,j) = l,则当所述结果图像result中的像元result(i_l,j) = 0 和result(i,j_l) = 0同时成立时,贝令像元result(i,」)=1&匕61,1&匕61 = 1&匕61+1,并执行 步骤所述令j = j+1,再次判断j<c+s是否成立,否则,继续执行下一步,其中,label为标记 元素;
[0029] 如果image_temp(i,j) = l,则当所述结果图像result中的像元result(i_l,j)辛0 和result(i,j-l) = 0同时成立时,贝ljresult(i,j)=result(i-l,j),并令j = j+1,再次判断 j <c+s是否成立,否则,继续执行下一步;
[0030]如果result(i_l,j) = 0和result(i,j_l)辛0同时成立,则result( i,j) = result (i,j-l),并继续令j = j+1,再次判断j <c+s是否成立,否则,继续执行下一步;
[0031 ]如果result(i_l,j)辛0和result(i,j_l)辛0同时成立,则result( i,j) = result (i-l,j),并继续执行下一步;
[0032] 如果result(i-l,j)乒result(i,j-1),则将所述结果图像result中所有取值为 result(i, j-1)的点的值替换为result(i-l,j),并令j = j+1,再次判断j彡c+s是否成立。
[0033]优选的,所述按照所述结果矩阵result」中的编号,将所述联通域扩展为外接矩 形,并将所述外接矩形内所有点赋值为1,包括:
[0034] 计算所述结果图像re su 11中最大像元值max_r;
[0035] 初始化区域计数器的计数数值k,令k = l;
[0036] 判断k<max_r是否成立;
[0037] 如果k<max_r不成立,贝lj更新所述目标区域的扩展调节参数expand,令expand = 〇,并再次判断二值图像矩阵值为所述外延矩阵image_temp的所述二值图像image和重新赋 值的所述过程图像pro c e s s是否相等;
[0038] 如果k<max_r成立,贝lj判断result = k是否为空矩阵;
[0039] 如果result = k为空矩阵,则令k = k+l,并再次判断k<max_r是否成立;
[0040] 如果result = k不为空矩阵,则计算result = k的区域行列数,并查找出行最大值 il,列最大值jl,行最小值i2和列最小值j2;
[0041 ] 判断expand辛0是否成立;
[0042] 如果expand辛0不成立,则按照公式(4)对所述二值图像image进行区域填充;
[0043] image(il:i2,jl:j2)=1 (4);
[0044] 如果expand辛0成立,则将[1, i 1-m]中的最大值作为当前行最大值,将[1, j 1-m]中 的最大值作为当前列最大值,将[i2+m,r]中的最小值最为当前行最小值,将[j2+m,c]中的 最小值作为当前列最小值,并按照所述公式(4)对所述二值图像image进行区域填充,其中, m为所述待提取图像的目标区域的扩展幅度。
[0045] -种图像目标区域提取的系统,包括:
[0046]获取单元,用于获取待提取图像的二值图像image和所述二值图像image的外沿距 离s,其中,所述二值图像image为r行、c列的二维数组;
[0047]第一赋值单元,用于分别将过程图像process和结果图像result的初始值赋值为 零矩阵,所述零矩阵为r行、c列的二维数组;
[0048] 判断单元,用于判断所述二值图像image和所述过程图像process是否相等;
[0049] 输出单元,用于在所述判断单元判断为是的情况下,则将所述结果图像result作 为所述目标区域的提取结果图像进行输出;
[0050] 第二赋值单元,用于在所述判断单元判断为否的情况下,则将所述二值图像image 的矩阵值赋值给所述过程图像process,并继续执行外延矩阵生成单元;
[0051 ]所述外延矩阵生成单元,用于根据公式(1)对所述二值图像image进行外延,生成 外延二值图像对应的外沿矩阵image_temp,并将所述外延矩阵image_temp作为所述二值图 像image当前对应的二值图像矩阵值; iwa^e kmp 二 zcjros( r + m
[0052] - , , , ( 1 ); image _ienip{s -h 1: r H- .v,.v + 1: c + ,v) = image
[0053]结果矩阵生成单元,用于根据公式(2)生成所述结果图像result对应的结果矩阵 result_l;
[0054] result-1 = zeros(r+2s,c+2s) (2);
[0055] 标记单元,用于将所述二值图像image的二值图像矩阵的联通域在所述结果矩阵 result_l中标记为不同的编号;
[0056] 再次判断单元,用于按照所述结果矩阵result j中的编号,将所述联通域扩展为 外接矩形,并将所述外接矩形内所有点赋值为1,并返回所述判断单元再次判断二值图像矩 阵值为所述外延矩阵image_temp的所述二值图像image和重新赋值的所述过程图像 process是否相等。
[0057]优选的,所述标记单元包括:
[0058]初始化子单元,用于将所述二值图像image中各像元image(i,j)的坐标进行初始 化,令i = s+l,j = s+l,其中,(i,j)指的是所述二值图像image从左上角算起的第i行、第j 列;
[0059] 第一判断子单元,用于判断i彡r+s是否成立;
[0060] 恢复子单元,用于如果i彡r+s不成立,则根据公式(3)恢复所述结果矩阵result」 的大小;
[0061] result_l=result_l(s+1:r+s,s+l:c+s) (3)
[0062] 第二判断子单元,用于如果;Kr+s成立,则判断j彡c+s是否成立;
[0063]第一再次判断子单元,用于如果j彡c+s不成立,则令i = i+1,并再次判断;Kr+s是 否成立;
[0064]第三判断子单元,用于如果j彡c+s成立,贝lj判断所述外延二值图像中的各像元 image_temp(i, j)是否等于 1;
[0065]第二再次判断子单元,用于如果image_temp(i , j)辛1,则令j = j+1,并再次判断j <c+s是否成立;
[0066] 第三再次判断子单元,用于如果image_temp( i,j) = 1,则当所述结果图像result 中的像元result(i-l,j) = 0和result(i,j-1) = 0同时成立时,贝lj令像元result(i,j)= label,label = label+l,并执行步骤所述令j = j+1,再次判断j<c+s是否成立,否则,继续 执行第四再次判断子单元,其中,label为标记元素;
[0067]所述第四再次判断子单元,用于如果image_temp(i,j) = 1,则当所述结果图像 result中的像元result( i_l,j)辛0和result(i,j_l) = 0同时成立时,贝ljresult( i,j)= result(i-l,j),并令j = j+1,再次判断j<c+s是否成立,否则,继续执行第五再次判断子单 元;
[0068] 所述第五再次判断子单元,用于如果^81111:(;[-1,」)=0和^81111:(;[,」-1)辛0同时 成立,则result(i,j)=result(i, j-1),并继续令j = j+1,再次判断j<c+s是否成立,否则, 继续执行赋值子单元;
[0069] 所述赋值子单元,用于如果代81111:(;[-1,」)辛0和^81111:(;[,」-1)辛0同时成立,贝1| result( i,j) =result( i-1,j),并继续执行替换子单元;
[0070]所述替换子单元,用于如果result (i-1,j)辛result (i,j-1),则将所述结果图像 result中所有取值为result (i,j-l)的点的值替换为result (i-1,j),并令j = j+l,再次判 断j<c+s是否成立。
[0071 ]优选的,所述再次判断单元包括:
[0072] 第一计算子单元,用于计算所述结果图像result中最大像元值max_r;
[0073] 初始化子单元,用于初始化区域计数器的计数数值k,令k = l;
[0074] 第四判断子单元,用于判断k彡max_r是否成立;
[0075]更新子单元,用于如果k彡max_r不成立,则更新所述目标区域的扩展调节参数 expand,令expand = 0,并再次判断二值图像矩阵值为所述外延矩阵image_temp的所述二值 图像image和重新赋值的所述过程图像pro c e s s是否相等;
[0076] 第五判断子单元,用于如果k<max_r成立,则判断result = k是否为空矩阵;
[0077] 第六再次判断子单元,用于如果result = k为空矩阵,则令k = k+l,并再次判断 max_r是否成立;
[0078] 第二计算子单元,用于如果result = k不为空矩阵,则计算result = k的区域行列 数,并查找出行最大值il,列最大值jl,行最小值i2和列最小值j2;
[0079] 第六判断子单元,用于判断expand辛0是否成立;
[0080] 第一填充子单元,用于如果expand辛0不成立,则按照公式(4)对所述二值图像 image进行区域填充;
[0081] image(il:i2,jl:j2)=1 (4);
[0082]第二填充子单元,用于如果expand辛0成立,则将[1 中的最大值作为当前行 最大值,将[1, j l-m]中的最大值作为当前列最大值,将[i2+m,r ]中的最小值最为当前行最 小值,将[j2+m,c]中的最小值作为当前列最小值,并按照所述公式(4)对所述二值图像 image进行区域填充,其中,m为所述待提取图像的目标区域的扩展幅度。
[0083] 从上述的技术方案可以看出,本发明公开了一种图像目标区域提取的方法及系 统,在对待提取图像的二值图像进行目标区域提取的过程中,引入了过程图像和结果图像 两个变量,若二值图像与过程图像不相等,则对该二值图像进行外延,更改二值图像矩阵 值,并对结果图像进行赋值,将二值图像矩阵的连通域在结果图像对应的结果矩阵中标记 为不同的编号,按照该编号,将联通域扩展为外接矩形,并将该外接矩形内所有点赋值为1, 然后再次判断二值图像矩阵值更改后的二值图像与过程图像是否相等,如此循环,直至二 值图像与过程图像相等,则将当前的结果图像作为目标区域的提取结果图像进行输出。因 此,本发明实现了图像中目标区域的自动提取,从而解决了现有技术中的问题。
【附图说明】
[0084] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 公开的附图获得其他的附图。
[0085] 图1(a)为本发明实施例公开的一种目标探测结果高分辨率图像;
[0086] 图1(b)为本发明实施例公开的一种目标探测结果高分辨率图像中目标区域提取 的不意图;
[0087] 图1(c)为本发明实施例公开的另一种目标探测结果高分辨率图像中目标区域提 取的示意图;
[0088] 图1(d)为本发明实施例公开的另一种目标探测结果高分辨率图像中目标区域提 取的示意图;
[0089] 图2为本发明实施例公开的一种图像目标区域提取的方法流程图;
[0090] 图3为本发明实施例公开的一种图像目标区域提取的系统的结构示意图。
【具体实施方式】
[0091] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0092] 本发明实施例公开了一种图像目标区域提取的方法及系统,以实现图像中目标区 域的自动提取。
[0093]本发明实现图像目标区域提取需要解决两个关键问题:1、对目标区域进行扩展; 2、对重叠的目标扩展区域进行合并。
[0094] 结合图1(a)、图1(b)、图1(c)和图1(d)进行解释说明,具体如下:
[0095] 假设图1(a)为目标探测结果高分辨率图像,每个三角形表示1个目标,图1(b)中的 虚线矩形表示各个目标的外接矩形,由图1(a)到图1(b)的过程是现有技术可以实现的,由 于图1(b)中的虚线矩形包含目标周边地物信息太少,无法辅助人工判读,因此,并不是本发 明所需的结果。本发明需要解决的第1个问题是将图1(b)的记过扩展为图1(c)的结果,例 如,对图1(a)中的a(b、c或d)目标,将图1(c)中的A(B、C或D)区域作为提取的目标区域。从图 1(c)中可以发现,图1(c)中b、c、d目标提取的B、C、D区域有重叠,显然,将b、c、d目标视为一 个整体,既有利于减少数据下传数量,又有利于人工判读,因此,本发明解决的第2个问题是 将图1(c)中的B、C、D区域合并为图1(d)中的E区域。
[0096] 本发明实现图像目标区域提取的过程具体如下:
[0097] 参见图2,本发明实施例公开的一种图像目标区域提取的方法流程图,包括步骤:
[0098]步骤S11、获取待提取图像的二值图像image和所述二值图像image的外沿距离s; [00"] 其中,所述二值图像image为r行、c列的二维数组。
[0100]需要说明的是,二值图像image在四周的外延距离s相同,s G N+。
[0101 ]步骤S12、分别将过程图像process和结果图像result的初始值赋值为零矩阵;
[0102]其中,所述零矩阵为r行、c列的二维数组,零矩阵种的元素都为0。
[0103] 步骤S13、判断所述二值图像image和所述过程图像process是否相等,如果是,贝lj 执行步骤S14、否则,执行步骤S15;
[0104]步骤S14、将所述结果图像result作为所述目标区域的提取结果图像进行输出; [0105]步骤S15、将所述二值图像image的矩阵值赋值给所述过程图像process,并继续执 行步骤S16;
[0106]步骤S16、根据公式(1)对所述二值图像image进行外延,生成外延二值图像对应的 外沿矩阵image_temp,并将所述外延矩阵image_temp作为所述二值图像image当前对应的 二值图像矩阵值; linage temp = zcros(r + 2s, c + 2.v) ,,.
[0107] . ~ ' . . 、. (1); image tempos ^ 1: r -r .v +1: c + .v) = image;
[0108] 步骤S17、根据公式(2)生成所述结果图像result对应的结果矩阵result_l;
[0109] result_l=zeros(r+2s,c+2s) (2);
[0110] 步骤SI 8、将所述二值图像image的二值图像矩阵的联通域在所述结果矩阵 result_l中标记为不同的编号;
[0111] 步骤S19、按照所述结果矩阵result」中的编号,将所述联通域扩展为外接矩形, 并将所述外接矩形内所有点赋值为1,并返回步骤S13,再次判断二值图像矩阵值为所述外 延矩阵image_temp的所述二值图像image和重新赋值的所述过程图像process是否相等。
[0112] 可以看出,本发明首先标记图像中的单连通区域,然后针对每个单连通区域都有 一个相应的编号,最后依次针对不同编号的区域进行各区域外接矩形的扩展提取。
[0113]其中,本发明对二值图像image标记是通过检测每一个像元点的邻域值情况来进 行,通常可以使用四邻域法和八邻域法。
[0114] 需要说明的是,本实施例中,步骤S13-步骤S19为不断循环过程,当循环停止即二 值图像image和过程图像process相等时,表明图中已经没有距离相近或者补全后有粘连重 叠现象的区域,从而可以将这些区域视为一个整体来提取其外接矩形。
[0115] 综上可以看出,本发明公开的图像目标区域提取的方法,在对待提取图像的二值 图像进行目标区域提取的过程中,引入了过程图像和结果图像两个变量,若二值图像与过 程图像不相等,则对该二值图像进行外延,更改二值图像矩阵值,并对结果图像进行赋值, 将二值图像矩阵的连通域在结果图像对应的结果矩阵中标记为不同的编号,按照该编号, 将联通域扩展为外接矩形,并将该外接矩形内所有点赋值为1,然后再次判断二值图像矩阵 值更改后的二值图像与过程图像是否相等,如此循环,直至二值图像与过程图像相等,则将 当前的结果图像作为目标区域的提取结果图像进行输出。因此,本发明实现了图像中目标 区域的自动提取,从而解决了现有技术中的问题。
[0116] 并且,本发明在对图像中目标区域自动提取过程中,还可以针对距离相近或者补 全后有粘连重叠现象的区域进行自动识别,并将其视为一个整体来提取其外接矩形,并将 该外接矩形作为最终提取结果。
[0117] 上述实施例中,步骤S18具体包括步骤:
[0118] 步骤S101、将所述二值图像image中各像元image(i,j)的坐标进行初始化,令i = s +1,j = s+l;
[0119]其中,(i,j)指的是所述二值图像image从左上角算起的第i行、第j列。
[0120] 步骤S102、判断i彡r+s是否成立,如果是,则执行步骤S103,否则,执行步骤S112;
[0121 ] 步骤S103、判断j<c+s是否成立,如果是,则执行步骤S104,否则,执行步骤S111;
[0122]步骤S104、判断所述外延二值图像中的各像元image_temp(i,j)是否等于1,如果 是,则执行步骤S105,否则,执行步骤S110;
[0123] 步骤S105、当所述结果图像result中的像元result(i_l,j) = 0和result(i,j-1) =〇同时成立时,令像元result(i,j ) = label,label = label+1,并执行步骤SI 10,否则,执 行步骤SI 06,其中,label为标记元素;
[0124] 步骤S106、当所述结果图像result中的像元result(i_l,j)辛0和result(i,j-1) =〇同时成立时,贝 1Jresult( i,j) =result( i-1,j),并执行步骤SI 10,否则,执行步骤S107;
[0125] 步骤S107、如果result(i_l,j) = 0和result(i,j_l)辛0同时成立,贝ljresult(i,j) = result( i,j-1),并执行步骤SI 10,否则,执行步骤S108;
[0126] 步骤S108、如果result(i_l,j)辛0和result(i,j_l)辛0同时成立,贝ljresult(i,j) = result(i-l,j),并继续执行步骤S109;
[0127] 步骤5109、如果代81111:(;[-1,」)^^681111:(;[,」-1),则将所述结果图像代81111:中所 有取值为result(i,j-1)的点的值替换为result(i-1,j),并继续执行步骤S110;
[0128] 步骤S110、令j = j+1,并返回执行步骤S103;
[0129] 步骤S111、令i = i+1,并返回执行步骤S102;
[0130] 步骤S112、根据公式(3)恢复所述结果矩阵result」的大小;
[0131] result_l=result_l(s+1:r+s,s+l:c+s) (3)〇
[0132] 可以看出,本发明首先对二值图像image进行标记,通过检测每一个像元点的邻域 值情况进行标记,通常可以使用四邻域法和八邻域法。本发明以四邻域法(八邻域法类似) 为例,经过数次遍历二值图像image上每个像元点,直到标记结果不再发生变化时停止此阶 段的标记。
[0133] 需要说明的是,本发明根据该标记结果进行各区域外接矩形的扩展补全,并针对 距离相近后者补全后有粘连重叠现象的区域进行自动识别,并将其视为一个整体来提取其 外接矩形,该外接矩形即为最终提取结果。
[0134] 并且,本发明通过对补全的结果图像进行第二次标记并进行编号调整,使得最终 的结果图像区域编号是按照自燃数排列,从而方便操作人员进行后续工作开展。
[0135] 上述实施例中,步骤S19具体包括步骤:
[0136] 步骤S201、计算结果图像result中最大像元值max_r;
[0137] 步骤S202、初始化区域计数器的计数数值k,令k = l;
[0138] 步骤S203、判断k彡11^1_1'是否成立,如果是,则执行步骤S204,否则,执行步骤 S210;
[0139] 步骤S204、判断reSult = k是否为空矩阵,如果否,则执行步骤S205,否则执行步骤 S209;
[0140] 其中,result = k的含义是判断result矩阵中哪些位置的数值与k相等。
[0141] 步骤S205、计算result = k的区域行列数,并查找出行最大值il,列最大值jl,行最 小值i2和列最小值j2,并继续执行步骤S206;
[0142] 步骤S206、判断expand辛0是否成立,如果是,则执行步骤S207,否则,执行步骤 S208;
[0143] 步骤S207、将[l,il-m]中的最大值作为当前行最大值,将[l,jl-m]中的最大值作 为当前列最大值,将[i2+m,r]中的最小值最为当前行最小值,将[j2+m,c]中的最小值作为 当前列最小值,并继续执行步骤S208,其中,m为所述待提取图像的目标区域的扩展幅度;
[0144] 步骤S208、按照公式(4)对所述二值图像image进行区域填充;
[0145] image(il:i2,jl:j2)=1 (4)
[0146] 步骤S209、令k = k+1,并返回执行步骤S203;
[0147] 步骤S210、更新所述目标区域的扩展调节参数expand,令expand = 0,并返回执行 步骤S13,再次判断二值图像矩阵值为所述外延矩阵image_temp的所述二值图像image和重 新赋值的所述过程图像pro c e s s是否相等。
[0148]与上述方法实施例相对应,本发明还公开了一种图像目标区域提取的系统。
[0149]参见图3,本发明实施例公开的一种图像目标区域提取的系统的结构示意图,包 括:
[0150]获取单元31,用于获取待提取图像的二值图像image和所述二值图像image的外沿 距离s,其中,所述二值图像image为r行、c列的二维数组;
[0151]需要说明的是,二值图像image在四周的外延距离s相同,s G N+。
[0152]第一赋值单元32,用于分别将过程图像process和结果图像result的初始值赋值 为零矩阵,所述零矩阵为r行、c列的二维数组;
[0153] 判断单元33,用于判断所述二值图像image和所述过程图像process是否相等,如 果是,则执行输出单元34,否则,执行第二赋值单元35;
[0154] 输出单元34,用于将所述结果图像result作为所述目标区域的提取结果图像进行 输出;
[0155] 第二赋值单元35,用于将所述二值图像image的矩阵值赋值给所述过程图像 process,并继续执行外延矩阵生成单元36;
[0156] 外延矩阵生成单元36,用于根据公式(1)对所述二值图像image进行外延,生成外 延二值图像对应的外沿矩阵image_temp,并将所述外延矩阵image_temp作为所述二值图像 image当前对应的二值图像矩阵值; linage temp - zerosir -r 2s, c -h 2.v) ..,,
[0157] - ' ( 1 ); image temp{s -h 1: r -h .v, .v + 1: c + .s) = image
[0158] 结果矩阵生成单元37,用于根据公式(2)生成所述结果图像result对应的结果矩 阵result_l;
[0159] result_l=zeros(r+2s,c+2s) (2);
[0160]标记单元38,用于将所述二值图像image的二值图像矩阵的联通域在所述结果矩 阵result_l中标记为不同的编号;
[0161 ]再次判断单元39,用于按照所述结果矩阵result j中的编号,将所述联通域扩展 为外接矩形,并将所述外接矩形内所有点赋值为1,并返回判断单元33再次判断二值图像矩 阵值为所述外延矩阵image_temp的所述二值图像image和重新赋值的所述过程图像 process是否相等。
[0162]可以看出,本发明首先标记图像中的单连通区域,然后针对每个单连通区域都有 一个相应的编号,最后依次针对不同编号的区域进行各区域外接矩形的扩展提取。
[0163]其中,本发明对二值图像image标记是通过检测每一个像元点的邻域值情况来进 行,通常可以使用四邻域法和八邻域法。
[0164] 需要说明的是,本实施例中,步骤S13-步骤S19为不断循环过程,当循环停止即二 值图像image和过程图像process相等时,表明图中已经没有距离相近或者补全后有粘连重 叠现象的区域,从而可以将这些区域视为一个整体来提取其外接矩形。
[0165] 综上可以看出,本发明公开的图像目标区域提取的系统,在对待提取图像的二值 图像进行目标区域提取的过程中,引入了过程图像和结果图像两个变量,若二值图像与过 程图像不相等,则对该二值图像进行外延,更改二值图像矩阵值,并对结果图像进行赋值, 将二值图像矩阵的连通域在结果图像对应的结果矩阵中标记为不同的编号,按照该编号, 将联通域扩展为外接矩形,并将该外接矩形内所有点赋值为1,然后再次判断二值图像矩阵 值更改后的二值图像与过程图像是否相等,如此循环,直至二值图像与过程图像相等,则将 当前的结果图像作为目标区域的提取结果图像进行输出。因此,本发明实现了图像中目标 区域的自动提取,从而解决了现有技术中的问题。
[0166] 并且,本发明在对图像中目标区域自动提取过程中,还可以针对距离相近或者补 全后有粘连重叠现象的区域进行自动识别,并将其视为一个整体来提取其外接矩形,并将 该外接矩形作为最终提取结果。
[0167] 上述实施例中,标记单元38具体包括:
[0168]初始化子单元301,用于将所述二值图像image中各像元image(i,j)的坐标进行初 始化,令i = s+l,j = s+l,其中,(i,j)指的是所述二值图像image从左上角算起的第i行、第j 列;
[0169]第一判断子单元302,用于判断i彡r+s是否成立;
[0170]恢复子单元303,用于如果i彡r+s不成立,则根据公式(3)恢复所述结果矩阵 大小;
[0171] result_l =result_l(s+1 :r+s,s+l :c+s) (3)
[0172] 第二判断子单元304,用于如果;Kr+s成立,则判断j彡c+s是否成立;
[0173] 第一再次判断子单元305,用于如果j彡c+s不成立,则令i = i+1,并再次判断;Kr+ s是否成立;
[0174]第三判断子单元306,用于如果j<c+s成立,贝lj判断所述外延二值图像中的各像元 image_temp(i, j)是否等于 1;
[0175]第二再次判断子单元307,用于如果image_temp( i , j)辛1,则令j = j+1,并再次判 断j<c+s是否成立;
[0176]第三再次判断子单元308,用于如果image_temp(i,j) = 1,则当所述结果图像 result中的像元result(i_l,j) = 0和result(i,j_l) = 0同时成立时,贝丨彳令像元result(i, j) = label,label = label+l,并执行步骤所述令j = j+1,再次判断j<c+s是否成立,否则, 继续执行第四再次判断子单元309,其中,label为标记元素;
[0177]所述第四再次判断子单元309,用于如果image_temp( i,j) = 1,则当所述结果图像 result中的像元result( i_l,j)辛0和result(i,j_l) = 0同时成立时,贝ljresult( i,j)= result(i-l,j),并令j = j+1,再次判断j<c+s是否成立,否则,继续执行第五再次判断子单 元 310;
[0178] 第五再次判断子单元310,用于如果代81111:(;[-1,」_)=0和代81111:(;[,」_-1)辛0同时 成立,则result(i,j)=result(i, j-1),并继续令j = j+1,再次判断j<c+s是否成立,否则, 继续执行赋值子单元311;
[0179] 赋值子单元311,用于如果result(i_l,j)辛0和result(i,j-1)辛0同时成立,贝丨J result( i,j) =result( i-1,j),并继续执行替换子单元312;
[0180] 替换子单元312,用于如果result(i-l,j)辛result(i,j-1),则将所述结果图像 result中所有取值为result (i,j-l)的点的值替换为result (i-1,j),并令j = j+l,再次判 断j<c+s是否成立。
[0181 ]可以看出,本发明首先对二值图像image进行标记,通过检测每一个像元点的邻域 值情况进行标记,通常可以使用四邻域法和八邻域法。本发明以四邻域法(八邻域法类似) 为例,经过数次遍历二值图像image上每个像元点,直到标记结果不再发生变化时停止此阶 段的标记。
[0182] 需要说明的是,本发明根据该标记结果进行各区域外接矩形的扩展补全,并针对 距离相近后者补全后有粘连重叠现象的区域进行自动识别,并将其视为一个整体来提取其 外接矩形,该外接矩形即为最终提取结果。
[0183] 并且,本发明通过对补全的结果图像进行第二次标记并进行编号调整,使得最终 的结果图像区域编号是按照自燃数排列,从而方便操作人员进行后续工作开展。
[0184] 上述实施例中,再次判断单元39包括:
[0185] 第一计算子单元401,用于计算所述结果图像result中最大像元值max_r;
[0186]初始化子单元402,用于初始化区域计数器的计数数值k,令k = l;
[0187] 第四判断子单元403,用于判断k彡max_r是否成立;
[0188]更新子单元404,用于如果k<maX_r不成立,则更新所述目标区域的扩展调节参数 expand,令expand = 0,并再次判断二值图像矩阵值为所述外延矩阵image_temp的所述二值 图像image和重新赋值的所述过程图像pro c e s s是否相等;
[0189] 第五判断子单元405,用于如果k<max_r成立,则判断result = k是否为空矩阵; [0190] 第六再次判断子单元406,用于如果result = k为空矩阵,则令k = k+l,并再次判断 k<max_r是否成立;
[0191 ] 第二计算子单元407,用于如果result = k不为空矩阵,则计算result = k的区域行 列数,并查找出行最大值i 1,列最大值j 1,行最小值i2和列最小值j2;
[0192] 第六判断子单元408,用于判断expand辛0是否成立;
[0193] 第一填充子单元409,用于如果expand辛0不成立,则按照公式(4)对所述二值图像 image进行区域填充;
[0194] image(il:i2,jl:j2)=1 (4);
[0195] 第二填充子单元410,用于如果expand辛0成立,则将[1, i 1-m]中的最大值作为当 前行最大值,将[l,jl_m]中的最大值作为当前列最大值,将[i2+m,r]中的最小值最为当前 行最小值,将[j2+m,c]中的最小值作为当前列最小值,并按照所述公式(4)对所述二值图像 image进行区域填充,其中,m为所述待提取图像的目标区域的扩展幅度。
[0196] 需要说明的是,系统实施例中各组成部分的工作原理具体请参见方法实施例对应 部分,本发明在此不做限定。
[0197] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那 些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者 设备所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排 除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0198] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他 实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0199] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。 对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的 一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明 将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一 致的最宽的范围。
【主权项】
1. 一种图像目标区域提取的方法,其特征在于,包括: 获取待提取图像的二值图像image和所述二值图像image的外沿距离S,其中,所述二值 图像image为r行、C列的二维数组; 分别将过程图像process和结果图像result的初始值赋值为零矩阵,所述零矩阵为r 行、C列的二维数组; 判断所述二值图像image和所述过程图像process是否相等; 如果是,则将所述结果图像result作为所述目标区域的提取结果图像进行输出; 如果否,则将所述二值图像image的矩阵值赋值给所述过程图像process,并继续执行 下一步; 根据公式(1)对所述二值图像image进行外延,生成外延二值图像对应的外沿矩阵 image_temp,并将所述外延矩阵image_temp作为所述二值图像image当前对应的二值图像 矩阵值; image _^nip 二 zcro's(r + 2s,e + 2s) ( I ), 各乂乂十 I:厂十、v、、v + I :c + 'v)二汾客色 } 根据公式(2)生成所述结果图像result对应的结果矩阵result_l; result_l = zeros(r+2s,c+2s)(2); 将所述二值图像image的二值图像矩阵的联通域在所述结果矩阵result_l中标记为不 同的编号; 按照所述结果矩阵result_l中的编号,将所述联通域扩展为外接矩形,并将所述外接 矩形内所有点赋值为1,并再次判断二值图像矩阵值为所述外延矩阵image_temp的所述二 值图像image和重新赋值的所述过程图像pro C e S S是否相等。2. 根据权利要求1所述的方法,其特征在于,所述将所述二值图像image的二值图像矩 阵的联通域在所述结果矩阵result_l中标记为不同的编号,包括: 将所述二值图像image中各像元imageQ,j)的坐标进行初始化,令i = s+l,j = s+l,其 中,(i,j)指的是所述二值图像image从左上角算起的第i行、第j列; 判断i《r+s是否成立; 如果i《r+s不成立,则根据公式(3)恢复所述结果矩阵result_l的大小; result_l=result_l(s+l :r+s,s+l :c+s) (3) 如果i《r+s成立,则判断j《c+s是否成立; 如果j《c+s不成立,则令i = i+1,并再次判断i《r+s是否成立; 如果j《C+S成立,则判断所述外延二值图像中的各像元image_temp (i,j)是否等于1; 如果image_temp(i,j)声1,则令j = j+1,并再次判断j《c+s是否成立; 如果image_temp(i , j) = 1,则当所述结果图像result中的像元result(i-l, j) = 0和 resultQ ,j-l) = 0同时成立时,贝令像元result。,j) = label ,label = label+1,并执行步 骤所述令j = j+l,再次判断j《c+s是否成立,否则,继续执行下一步,其中,label为标记元 素; 如果image_temp(i , j) = 1,则当所述结果图像result中的像元result(i-l, j)声0和 resultQ, j-l)=0同时成立时,则resultQ, j)=result(i-l, j),并令j = j+1,再次判断占' 《c+s是否成立,否则,继续执行下一步; 如果result(i-l, j) = O和result。,j-1)声O同时成立,贝iJresultQ , j) =result(i , j- I),并继续令j = j+1,再次判断j《c+s是否成立,否则,继续执行下一步; 如果result(i-l, j)声0和result。,j-1)声0同时成立,贝ljresult(i , j) = result(i-l, j),并继续执行下一步; 如果result(i-l J)声result。,j-1),则将所述结果图像result中所有取值为result (i,j-1)的点的值替换为result(i-1,j),并令j = j+1,再次判断j《C+S是否成立。3. 根据权利要求1所述的方法,其特征在于,所述按照所述结果矩阵result_l中的编 号,将所述联通域扩展为外接矩形,并将所述外接矩形内所有点赋值为1,包括: 计算所述结果图像r e SU11中最大像元值max_;r; 初始化区域计数器的计数数值k,令k= 1; 判断k《max_;r是否成立; 如果k《max_;r不成立,贝更新所述目标区域的扩展调节参数e邱and,令e邱and = 0,并 再次判断二值图像矩阵值为所述外延矩阵image_temp的所述二值图像image和重新赋值的 所述过程图像process是否相等; 如果k《max_;r成立,则判断result = k是否为空矩阵; 如果result = k为空矩阵,则令k = k+l,并再次判断k《max_r是否成立; 如果result = k不为空矩阵,则计算result = k的区域行列数,并查找出行最大值il,列 最大值jl,行最小值i2和列最小值j2; 判断e邱and声0是否成立; 如果e邱and声0不成立,则按照公式(4)对所述二值图像image进行区域填充; image(il:i2, jl: j2) = l (4); 如果e邱and声0成立,则将[I中的最大值作为当前行最大值,将[I,jl-m]中的最 大值作为当前列最大值,将[i2+m,r]中的最小值最为当前行最小值,将[j2+m,c]中的最小 值作为当前列最小值,并按照所述公式(4)对所述二值图像image进行区域填充,其中,m为 所述待提取图像的目标区域的扩展幅度。4. 一种图像目标区域提取的系统,其特征在于,包括: 获取单元,用于获取待提取图像的二值图像image和所述二值图像image的外沿距离S, 其中,所述二值图像image为r行、C列的二维数组; 第一赋值单元,用于分别将过程图像process和结果图像result的初始值赋值为零矩 阵,所述零矩阵为r行、C列的二维数组; 判断单元,用于判断所述二值图像image和所述过程图像process是否相等; 输出单元,用于在所述判断单元判断为是的情况下,则将所述结果图像result作为所 述目标区域的提取结果图像进行输出; 第二赋值单元,用于在所述判断单元判断为否的情况下,则将所述二值图像image的矩 阵值赋值给所述过程图像process,并继续执行外延矩阵生成单元; 所述外延矩阵生成单元,用于根据公式(1)对所述二值图像image进行外延,生成外延 二值图像对应的外沿矩阵image_temp,并将所述外延矩阵image_temp作为所述二值图像 image当前对应的二值图像矩阵值; image_^inp 二 zero、s(r 千2s、c~\~2s) . 、 V I ) 5 _ &^"?/》{^文十 I :厂 + 'V,V + I : C + \ )二知?^碎每趕 结果矩阵生成单元,用于根据公式(2)生成所述结果图像result对应的结果矩阵 result_l; result_l = zeros(r+2s,c+2s) (2); 标记单元,用于将所述二值图像image的二值图像矩阵的联通域在所述结果矩阵 result_l中标记为不同的编号; 再次判断单元,用于按照所述结果矩阵result_l中的编号,将所述联通域扩展为外接 矩形,并将所述外接矩形内所有点赋值为1,并返回所述判断单元再次判断二值图像矩阵值 为所述外延矩阵image_temp的所述二值图像image和重新赋值的所述过程图像process是 否相等。5.根据权利要求4所述的系统,其特征在于,所述标记单元包括: 初始化子单元,用于将所述二值图像image中各像元image(i,j)的坐标进行初始化,令 i = s+l,j = s+l,其中,(i, j)指的是所述二值图像image从左上角算起的第i行、第j列; 第一判断子单元,用于判断i《r+s是否成立; 恢复子单元,用于如果i《r+s不成立,则根据公式(3)恢复所述结果矩阵result_l的大 小; result_l=result_l(s+1:r+s,s+1:c+s) (3) 第二判断子单元,用于如果i《r+s成立,则判断j《c+s是否成立; 第一再次判断子单元,用于如果j《c+s不成立,则令i = i+l,并再次判断i《r+s是否成 立; 第S判断子单元,用于如果j《c+s成立,则判断所述外延二值图像中的各像元image, tempQ, j)是否等于1; 第二再次判断子单元,用于如果image_temp(i , j)声1,则令j = j+1,并再次判断j《c+s 是否成立; 第S再次判断子单元,用于如果image_temp( i , j) = 1,则当所述结果图像result中的 像元result( i-1, j) =0和result( i , j-1) =0同时成立时,贝令像元result( i , j) = label, label = label+1,并执行步骤所述令j = j+1,再次判断j《c+s是否成立,否则,继续执行第 四再次判断子单元,其中,label为标记元素; 所述第四再次判断子单元,用于如果image_temp( i , j) = 1,则当所述结果图像result 中的像元result(i_l, j)声0和result(i , j-1) = 0同时成立时,则result(i , j) = result(i- IJ),并令j = j+l,再次判断j《c+s是否成立,否则,继续执行第五再次判断子单元; 所述第五再次判断子单元,用于如果result(i-l, j) = 0和result。,j-1)声0同时成 立,则resultQ , j) =result(i , j-1),并继续令j = j+1,再次判断j《c+s是否成立,否则,继 续执行赋值子单元; 所述赋值子单元,用于如果result ( i-1, j )声0和result ( i , j-1)声0同时成立,则 result( i , j) =result( i-1, j),并继续执行替换子单元; 所述替换子单元,用于如果'日31111:(;[-1,^')声'631111:(;[,^'-1),则将所述结果图像 result中所有取值为result (i , j-1)的点的值替换为result (i-1 J),并令j = j+l,再次判 断j《c+s是否成立。6.根据权利要求4所述的系统,其特征在于,所述再次判断单元包括: 第一计算子单元,用于计算所述结果图像result中最大像元值max_;r; 初始化子单元,用于初始化区域计数器的计数数值k,令k= 1; 第四判断子单元,用于判断k《max_r是否成立; 更新子单元,用于如果k《max_r不成立,则更新所述目标区域的扩展调节参数e邱and, 令e邱and = 0,并再次判断二值图像矩阵值为所述外延矩阵image_temp的所述二值图像 image和重新赋值的所述过程图像pro C e S S是否相等; 第五判断子单元,用于如果k《max_;r成立,则判断result = k是否为空矩阵; 第六再次判断子单元,用于如果result = k为空矩阵,则令k = k+l,并再次判断k《max_ r是否成立; 第二计算子单元,用于如果result = k不为空矩阵,则计算result = k的区域行列数,并 查找出行最大值il,列最大值jl,行最小值i2和列最小值j2; 第六判断子单元,用于判断e邱and声0是否成立; 第一填充子单元,用于如果expand声0不成立,贝峨照公式(4)对所述二值图像image进 行区域填充; image(il:i2, jl: j2) = l(4); 第二填充子单元,用于如果expand声0成立,则将[I中的最大值作为当前行最大 值,将[IJl-m]中的最大值作为当前列最大值,将[i2+m,r]中的最小值最为当前行最小值, 将[j2+m,c]中的最小值作为当前列最小值,并按照所述公式(4)对所述二值图像image进行 区域填充,其中,m为所述待提取图像的目标区域的扩展幅度。
【文档编号】G06K9/46GK105913065SQ201610224822
【公开日】2016年8月31日
【申请日】2016年4月12日
【发明人】张兵, 孙旭, 于浩洋, 高连如, 吴远峰, 李利伟
【申请人】中国科学院遥感与数字地球研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1