一种图像处理方法和装置与流程

文档序号:26053161发布日期:2021-07-27 15:29
一种图像处理方法和装置与流程

本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种图像处理方法和装置。



背景技术:

鲸鱼优化算法是一种群智能优化算法,其主要原理是,模仿鲸鱼群的捕食过程,对优化问题进行求解。鲸鱼群中,每一个个体(即搜索代理)都代表着优化问题的一个可能的解,通过计算每个搜索代理的适应度值,不断的迭代更新搜索代理,来获取最优解。

传统鲸鱼优化算法,求得优化问题的解受迭代次数的影响,迭代次数通过手动设定。当迭代次数设定过小时,会造成搜索不彻底,得不到最优解;而当迭代次数设定过大时,经过一定的迭代次数后,优化结果已经收敛。不再产生较当前优化结果更好的解,此后的迭代属于大量的冗余计算,导致计算资源的浪费。

在图像中定位某个目标的位置时,目标物可能会分布于图像中的任意位置,在图像中目标的尺寸也是不确定的。如果采用传统的交叉矩形框搜索方法,需要先固定窗口的高度,从上向下搜索,再固定搜索窗口的宽度,从左到右搜索,最终的定位窗口尺寸固定,这就需要对目标尺寸有一定的先验知识,适应性不强。若果采用传统的穷举搜索方法,需要搜索图像中所有矩形子区域,但是搜索空间中子区域数量巨大,导致计算量大。如果采用引入元启发式算法来加速搜索的方法,为了减少评价函数的计算量,一般采用固定的窗口大小,且只搜索粗略的网格,导致搜索结果不够精确。



技术实现要素:

有鉴于此,本说明书一个或多个实施例的目的在于提出一种,以解决的问题。

基于上述目的,本说明书一个或多个实施例提供了一种图像处理方法,其特征在于,包括:

获取图像,进而基于预设的监督计数器和卡普尔熵的鲸鱼优化算法,确定最佳分割阈值向量,以对图像进行阈值分割,生成阈值图像;

利用基于像素集中度函数的鲸鱼优化算法,对阈值图像中的各阈值像素在阈值图像中集中的位置进行搜索,以确定目标矩形窗口向量;

根据目标矩形窗口向量,截取图像中的目标区域。

可选地,确定最佳分割阈值向量,包括:

多次执行以下迭代步骤:

对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算对于图像的卡普尔熵值;

将卡普尔熵值最大的矩形窗口向量确定为第一最佳分割阈值向量;

更新图像中的每一个矩形窗口向量所对应的参数值,进而对更新后的每一个矩形窗口向量计算对于图像的卡普尔熵值;

将更新后的每一个矩形窗口向量中卡普尔熵值最大的矩形窗口向量确定为第n最佳分割阈值向量;

响应于确定第n最佳分割阈值向量大于第一最佳分割阈值向量,则将第n最佳分割阈值向量确定为最佳分割阈值向量;

响应于确定第n最佳分割阈值向量等于第一最佳分割阈值向量,则将计数加1;

响应于确定第n最佳分割阈值向量小于第一最佳分割阈值向量,则舍弃第n最佳分割阈值向量。

可选地,对图像进行阈值分割,生成阈值图像,包括:

获取图像对应的原灰度图像;

扩展最佳分割阈值向量,在最佳分割阈值向量的第一个元素前添加元素0,在最后一个元素后添加元素256,生成目标分割阈值向量;

基于原灰度图像和目标分割阈值向量,对图像进行阈值化,进而生成阈值图像。

可选地,确定目标矩形窗口向量,包括:

多次执行以下迭代步骤:

对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算像素集中度值;

将像素集中度值最大的矩形窗口向量确定为第一最佳矩形窗口向量;

更新图像中的每一个矩形窗口向量所对应的参数值并且调整每一个矩形窗口向量中元素的位置,进而对更新后的每一个矩形窗口向量计算像素集中度值;

将更新后的每一个矩形窗口向量对应的像素集中度值最大的矩形窗口向量确定为第n最佳矩形窗口向量;

响应于确定第n最佳矩形窗口向量大于第一最佳矩形窗口向量,则将第n最佳矩形窗口向量确定为目标矩形窗口向量;

响应于确定第n最佳矩形窗口向量等于第一最佳矩形窗口向量,则将计数加1;

响应于确定第n最佳矩形窗口向量小于第一最佳矩形窗口向量,则舍弃第n最佳矩形窗口向量;

响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素不是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,重新设置搜索阈值继续进行搜索;

响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,并输出所有的矩形窗口向量。

可选地,方法还包括:

对更新后的图像中的每一个矩形窗口向量按矩形窗口向量的数据结构进行调整;以及

矩形窗口向量的数据结构,包括:按顺序组成的r1,c1,r2,c2,其中,r1,c1分别表示矩形窗口在图像中的起始行和起始列,r2,c2分别表示矩形窗口在图像中的终止行和终止列,并且r2≥r1,c2≥c1。

可选地,计算像素集中度值,包括:

统计阈值图像中像素的值为最佳矩形窗口所对应的元素的第一像素数;

统计矩形窗口中像素的值为最佳矩形窗口所对应的元素的第二像素数;

计算阈值图像的总像素数,计算矩形窗口中的第三像素数;

基于第一像素数、第二像素数、总像素数和第三像素数,确定像素集中度值。

可选地,根据目标矩形窗口向量,截取图像中的目标区域,包括:

获取矩形窗口向量

截取的目标区域用来表示,按照下式进行截取:

一种图像处理装置,其特征在于,包括:

获取单元,被配置成获取图像,进而基于预设的监督计数器和卡普尔熵的鲸鱼优化算法,确定最佳分割阈值向量,以对图像进行阈值分割,生成阈值图像;

目标矩形窗口向量确定单元,被配置成利用基于像素集中度函数的鲸鱼优化算法,对阈值图像中的各阈值像素在阈值图像中集中的位置进行搜索,以确定目标矩形窗口向量;

目标区域截取单元,被配置成根据目标矩形窗口向量,截取图像中的目标区域。

可选地,获取单元进一步被配置成:

多次执行以下迭代步骤:

对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算对于图像的卡普尔熵值;

将卡普尔熵值最大的矩形窗口向量确定为第一最佳分割阈值向量;

更新图像中的每一个矩形窗口向量所对应的参数值,进而对更新后的每一个矩形窗口向量计算对于图像的卡普尔熵值;

将更新后的每一个矩形窗口向量中卡普尔熵值最大的矩形窗口向量确定为第n最佳分割阈值向量;

响应于确定第n最佳分割阈值向量大于第一最佳分割阈值向量,则将第n最佳分割阈值向量确定为最佳分割阈值向量;

响应于确定第n最佳分割阈值向量等于第一最佳分割阈值向量,则将计数加1;

响应于确定第n最佳分割阈值向量小于第一最佳分割阈值向量,则舍弃第n最佳分割阈值向量。

可选地,获取单元进一步被配置成:

获取图像对应的原灰度图像;

扩展最佳分割阈值向量,在最佳分割阈值向量的第一个元素前添加元素0,在最后一个元素后添加元素256,生成目标分割阈值向量;

基于原灰度图像和目标分割阈值向量,对图像进行阈值化,进而生成阈值图像。

可选地,目标矩形窗口向量确定单元进一步被配置成:

多次执行以下迭代步骤:

对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算像素集中度值;

将像素集中度值最大的矩形窗口向量确定为第一最佳矩形窗口向量;

更新图像中的每一个矩形窗口向量所对应的参数值并且调整每一个矩形窗口向量中元素的位置,进而对更新后的每一个矩形窗口向量计算像素集中度值;

将更新后的每一个矩形窗口向量对应的像素集中度值最大的矩形窗口向量确定为第n最佳矩形窗口向量;

响应于确定第n最佳矩形窗口向量大于第一最佳矩形窗口向量,则将第n最佳矩形窗口向量确定为目标矩形窗口向量;

响应于确定第n最佳矩形窗口向量等于第一最佳矩形窗口向量,则将计数加1;

响应于确定第n最佳矩形窗口向量小于第一最佳矩形窗口向量,则舍弃第n最佳矩形窗口向量;

响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素不是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,重新设置搜索阈值继续进行搜索;

响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,并输出所有的矩形窗口向量。

可选地,装置还包括调整单元,被配置成:

对更新后的图像中的每一个矩形窗口向量按矩形窗口向量的数据结构进行调整;以及

矩形窗口向量的数据结构,包括:按顺序组成的r1,c1,r2,c2,其中,r1,c1分别表示矩形窗口在图像中的起始行和起始列,r2,c2分别表示矩形窗口在图像中的终止行和终止列,并且r2≥r1,c2≥c1。

可选地,目标矩形窗口向量确定单元进一步被配置成:

统计阈值图像中像素的值为最佳矩形窗口所对应的元素的第一像素数;

统计矩形窗口中像素的值为最佳矩形窗口所对应的元素的第二像素数

计算阈值图像的总像素数,计算矩形窗口中的第三像素数;

基于第一像素数、第二像素数、总像素数和第三像素数,确定像素集中度值。

可选地,目标区域截取单元进一步被配置成:

获取矩形窗口向量

截取的目标区域用表示,按照下式进行截取:

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行程序时实现如上的图像处理方法。

一种非暂态计算机可读存储介质,其特征在于,非暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行如上的图像处理方法。

从上面可以看出,本说明书一个或多个实施例提供的图像处理方法和装置,通过增加监督计数器来监督搜索过程,在不继续出现更优解后及时终止迭代,减少了计算量。提出像素集中度函数作为目标函数,对阈值图像中的各阈值像素在阈值图像中集中的位置进行搜索,以确定目标矩形窗口向量,具有计算量小,适应性强等优点。通过目标矩形窗口向量作为求解目标函数的参数,搜索的矩形窗口的尺寸可以根据目标的大小自适应调整,可快速且精确地搜索位置和大小不特定的目标在图像中的矩形区域,也可用于图像的特征斑块的提取,可应用于基于背景的迷彩生成,适用范围广。

附图说明

为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本申请第一实施例的图像处理方法的主要流程的示意图;

图2是根据本申请第二实施例的图像处理方法的步骤s1的具体执行流程示意图;

图3是根据本申请第三实施例的图像处理方法的步骤s2的具体执行流程示意图;

图4是根据本申请第四实施例的图像处理方法的步骤s3的具体执行流程示意图;

图5是根据本申请实施例的图像处理装置的主要模块的示意图;

图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。

具体实施方式

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。

图1示出了根据本申请的图像处理方法的一个实施例的流程图。本实施例的图像处理方法,包括以下步骤:

步骤s1,获取图像,进而基于预设的监督计数器和卡普尔熵的鲸鱼优化算法,确定最佳分割阈值向量,以对图像进行阈值分割,生成阈值图像。

本实施例中图像处理方法的执行主体可以通过有线连接或无线连接的方式获取图像,该图像可以是包含位置和大小不定的目标物的图像。

本实施例中,可以将改进的鲸鱼优化算法应用于快速且精确地搜索位置和大小不特定的目标在图像中的矩形区域、图像的特征斑块的提取、基于背景的迷彩生成等领域。改进的鲸鱼优化算法可以是增加了监督技术器以监督搜索过程、提出像素集中度函数作为目标函数、搜索的矩形窗口的尺寸可以根据图像中目标的戴孝自适应调整的鲸鱼优化算法。

本实施例中,执行主体可以将鲸鱼优化算法中涉及到的鲸鱼群(或鲸鱼种群,相当于构成图像的像素集)中每一个代理用对图像划分区域进而生成的每一个矩形窗口向量来代替,以进行目标矩形窗口向量的确定,进而最终截取图像中对应的目标区域。具体地,执行主体在确定最佳分割阈值向量时,可以多次执行以下迭代步骤:对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算对于图像的卡普尔熵值;将卡普尔熵值最大的矩形窗口向量确定为第一最佳分割阈值向量;更新图像中的每一个矩形窗口向量所对应的参数值,进而对更新后的每一个矩形窗口向量计算对于图像的卡普尔熵值;将更新后的每一个矩形窗口向量中卡普尔熵值最大的矩形窗口向量确定为第n最佳分割阈值向量;响应于确定第n最佳分割阈值向量大于第一最佳分割阈值向量,则将第n最佳分割阈值向量确定为最佳分割阈值向量;响应于确定第n最佳分割阈值向量等于第一最佳分割阈值向量,则将计数加1;响应于确定第n最佳分割阈值向量小于第一最佳分割阈值向量,则舍弃第n最佳分割阈值向量。具体地,对图像进行阈值分割,生成阈值图像,包括:获取图像对应的原灰度图像;扩展最佳分割阈值向量,在最佳分割阈值向量的第一个元素前添加元素0,在最后一个元素后添加元素256,生成目标分割阈值向量;基于原灰度图像和目标分割阈值向量,对图像进行阈值化,进而生成阈值图像。

具体地,步骤s1,可以包括如下步骤s11~步骤s18:

示例的,以下步骤s11~步骤s18以改进的鲸鱼种群捕食过程中的目标搜索方法为例进行说明:

步骤s11:设定阈值个数为n,设置种群规模m,初始化鲸鱼种群xi(i=1,2,...,m),初始化当前迭代次数t=1,设定最大迭代次数max_iter,,初始化终止计数count=0,设定终止最大计数max_count;

步骤s12:对鲸鱼群中每一个代理计算对于图像的kapur熵值,取熵值最大的代理为当前最佳分割阈值向量x*,并将max_fit初始化为当前最大熵值;

步骤s13:对鲸鱼群中的每一个代理更新ai,ai,ci,li和pi,其中ai随着迭代次数从2到0线性递减,li是值域为[-1,1]的随机数,pi是值域为[0,1]的随机数,ai和ci分别按下面两式更新:

ai=2ai·r-ai

ci=2·r

其中,r为0到1的随机数;

步骤s14:对所有代理进行更新:

(1)如果pi<0.5且|ai|≥1则按下式更新:

xi(t+1)=round(xrand(t)-ai·d)

其中按round表示对向量的元素按四舍五入取整,xrand(t)表示鱼群中随机选取一个代理(即鲸鱼群中的每一个鲸鱼个体),d由下式计算:

d=|ci·xrand(t)-xi(t)|

(2)如果pi<0.5,且|ai|<1则按下式更新:

xi(t+1)=round(x*(t)-ai·d)

其中d按下式计算:

d=|ci·x*(t)-xi(t)|

(3)如果pi≥0.5,则按下式更新:

其中d′按下式计算:

d′=|x*(t)-xi(t)|

步骤s15:对新一轮的鲸鱼群中每一个代理计算对于图像的kapur熵值,取熵值最大的代理为当前最佳分割阈值向量xnew*,最大熵值记为fitness;

步骤s16:计算fitness-max_fit的值:

(1)如果值大于0,则更新最佳分割向量x*=xnew*

max_fit=fitness、count=0;

(2)如果值等于0,则更新count=count+1;

(3)如果值小于0,则舍弃该轮最佳解;

步骤s17:检查当前迭代次数t是否达到最大迭代次数max_iter,检查当前终止误差计数count是否达到最大终止误差计数max_count,若达到最大迭代次数或者达到最大终止误差计数,停止迭代并输出最佳分割向量x*(x1,x2,…,xn),否则将t自增1,并从步骤s13开始继续迭代。

步骤s18:根据最佳分割向量和原灰度图像img,生成阈值图像th_img,其具体方法如下:

(1)复制原灰度图像,th_img=img;

(2)扩展分割向量,在其第一个元素前添加元素0,最后一个元素后添加元素256,生成新的向量th(0,x1,x2,…,xn,256);

(3)按下式的规则对图像th_img进行阈值化:

th_img(th_img≥th(j)&th_img<th(j+1))=th(j)

其中,j为1到n+2之间的整数。

进一步地,步骤s12的kapur熵的计算方法如下:

f(xi)=h0+h1+h2+…+hn

其中,h0到hn的计算方法如下:

其中,x1到xn为xi中的元素,l表示图像的灰度级一般为256,pj表示灰度为j的像素在图像中的概率其计算方法如下:

pj=hj/n

其中,hj表示灰度为j的像素数目,n为图像的像素总数。

步骤s2,利用基于像素集中度函数的鲸鱼优化算法,对阈值图像中的各阈值像素在阈值图像中集中的位置进行搜索,以确定目标矩形窗口向量。

本实施例中,确定目标矩形窗口向量,包括:多次执行以下迭代步骤:对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算像素集中度值;将像素集中度值最大的矩形窗口向量确定为第一最佳矩形窗口向量;更新图像中的每一个矩形窗口向量所对应的参数值并且调整每一个矩形窗口向量中元素的位置,进而对更新后的每一个矩形窗口向量计算像素集中度值;将更新后的每一个矩形窗口向量对应的像素集中度值最大的矩形窗口向量确定为第n最佳矩形窗口向量;响应于确定第n最佳矩形窗口向量大于第一最佳矩形窗口向量,则将第n最佳矩形窗口向量确定为目标矩形窗口向量;响应于确定第n最佳矩形窗口向量等于第一最佳矩形窗口向量,则将计数加1;响应于确定第n最佳矩形窗口向量小于第一最佳矩形窗口向量,则舍弃第n最佳矩形窗口向量;响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素不是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,重新设置搜索阈值继续进行搜索;响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,并输出所有的矩形窗口向量。

具体地,步骤s2具体包括步骤s21~步骤s27:

示例的,步骤s21:获取x*中各个阈值,将0阈值添加到x*的第一个元素,生成新的阈值向量,并按下接下来的步骤逐一进行搜索;

步骤s22:设定搜索阈值为xi,初始化鲸鱼种群yj(j=1,2,...,n),鱼群中每一个代理均表示一个矩形窗口向量,初始化当前迭代次数t=1,设定最大迭代次数max_iter,初始化终止计数count=0,设定终止最大计数max_count;

步骤s23:对鲸鱼群中每一个代理计算其像素集中度值,取集中度值最大的代理为当前最佳矩形窗口向量并将max_fit初始化为当前像素集中度;

步骤s24:对鲸鱼群中的每一个代理更新aj,aj,cj,lj和pj,其中aj随着迭代次数从2到0线性递减,lj是值域为[-1,1]的随机数,pj是值域为[0,1]的随机数,aj和cj分别按下面两式更新:

aj=2aj·r-aj

cj=2·r

其中,r为0到1的随机数;

步骤s25:对所有代理进行更新同时调整矩形窗口向量中元素的位置:

(1)如果pj<0.5且|aj|≥1则按下式更新:

yj(t+1)=round(yrand(t)-aj·d)

其中,按round表示对向量的元素按四舍五入取整,d由下式计算:

d=|cj·yrand(t)-yj(t)|

(2)如果pj<0.5且|aj|<1则按下式更新:

其中d按下式计算:

(3)如果pj≥0.5,则按下式更新:

其中d′按下式计算:

(4)对更新后的代理按矩形窗口向量的数据结构进行调整。

步骤s26:对新一轮的鲸鱼群中每一个代理计算像素集中度值,取像素集中度值最大的代理为当前最佳矩形窗口向量ynew*,最大像素集中度值记为fitness;

步骤s27:计算fitness-max_fit的值:

(1)如果值大于0,则更新最佳矩形窗口向量max_fit=fitness、count=0;

(2)如果值等于0,则更新count=count+1;

(3)如果值小于0,则舍弃该轮最佳解;

步骤s28:检查当前迭代次数t是否达到最大迭代次数max_iter,检查当前终止误差计数count是否达到最大终止误差计数max_count:

(1)若达到最大迭代次数或者达到最大终止误差计数,且xi不是x*中的最后一个原素,则记录最佳矩形窗口向量并重新设置搜索阈值为x*中的下一个元素,从s22继续搜索;

(2)若达到最大迭代次数或者达到最大终止误差计数,且xi是x*中的最后一个原素,则记录最佳矩形窗口向量并输出所有的矩阵窗口向量;

(3)若未达到最大迭代次数且未达到最大终止误差计数,则将t自增1,并从s24开始继续迭代。

进一步地,的矩形窗口向量的数据结构为:由四个元素r1,c1,r2,c2按顺序组成,其中r1,c1分别表示矩形窗口在图像中的起始行和起始列,r2,c2分别表示矩形窗口在图像中的终止行和终止列,且要求r2≥r1,c2≥c1。

进一步地,计算像素集中度值,包括:

统计阈值图像中像素的值为最佳矩形窗口所对应的元素的第一像素数;

统计矩形窗口中像素的值为最佳矩形窗口所对应的元素的第二像素数计算阈值图像的总像素数,计算矩形窗口中的第三像素数;

基于第一像素数、第二像素数、总像素数和第三像素数,确定像素集中度值。

示例的,与上述所描述的计算像素集中度值相对应的像素集中度计算方法如下:

(1)统计阈值图像中像素的值为xi(即最佳矩形窗口所对应的元素)的像素数为(即第一像素数);

(2)统计矩形窗口中像素的值为xi的像素数为(即第二像素数);

(3)计算阈值图像的总像素数为n,矩形窗口中的像素数为n′(即第三像素数);

(4)像素集中度值按下式计算:

步骤s3,根据目标矩形窗口向量,截取图像中的目标区域。

其中,步骤s3的具体步骤如下:

步骤s31:获取矩形窗口向量

步骤s32:截取的目标区域用来表示,按照下式来进行截取:

本申请实施例可以达到如下效果:(1)本申请提出的改进的鲸鱼搜索算法中,增加了监督计数器来监督搜索过程,在不继续出现更优解后及时终止迭代,减少了计算量。(2)提出“像素集中度函数”作为目标函数,具有计算量小,适应性强等优点;(3)提出的“矩形窗口向量”作为求解目标函数的参数,搜索的矩形窗口的尺寸可以根据目标的大小自适应调整。

如图2所示,步骤s1具体步骤为:步骤s11设定具体参数,并根据具体参数初始化搜索鲸鱼种群;步骤s12对种群中的每一个代理进行适应度函数值的计算并确定其中的最优代理位置和最佳适应度的函数值;步骤s13对所有的代理,更新其在更新自身位置时所需要用的各类参数;步骤s14根据步骤s13所更新的参数,对所有的代理进行位置的更新,获得新的种群位置;步骤s15对更新后的种群再次计算所有代理的适应度值,并记录该轮搜索获得的最佳适应度值和对应的代理位置;步骤s16根据新一轮得到最佳适应度值与目前所得到的最佳适应度值进行比较,并根据其大小关系更新部分参数以控制迭代的进程;步骤s17根据控制参数决定继续迭代或者输出最佳位置;s18根据s17传递的最佳位置,即最佳分割阈值,利用原图像生成阈值图像,为步骤s2做好相应的数据准备。

如图3所示,为步骤s2的具体步骤,其使用了与s1相同的搜索最优解的方法,其具体步骤为:步骤s21获取由前置步骤s1所得到的阈值参数和阈值图像;步骤s22对不同的阈值参数,设定迭代控制的参数,以及生成随机种群;步骤s23对种群中的每一个代理计算其像素集中度,并确定当前的最佳像素集中度,以及最佳的矩形窗口向量;步骤s24对每一个种群更新其位置更新时所需要的相关参数;步骤s25根据s24所更新的参数执行不同的更新策论,并对更新后的位置检查其是否符合矩形窗口矩阵的数据规则,并进行相应的调整;步骤s26对种群更新后的位置计算其像素集中度的值,并记录该轮的最佳位置以及最大的像素集中度;步骤s27将该轮获得的最佳像素集中度与当前所获得的最佳集中度值进行比较,根据其大小关系更新控制参数以控制迭代进程;步骤s28根据控制参数决定是继续迭代,还是更新搜索目标,或者输出所有的搜索结果。

本算法在传统鲸鱼优化算法的基础上,添加监督变量count对算法的收敛过程进行监督,可以减少过多的冗余计算;引入了像素集中度函数,具有计算量小,准确性较高等优点;采用矩行窗口向量作为搜索目标,矩形窗口的大小可自适应调整,对于没有先验信息的图像具有较好的适应性。

如图4所示,步骤s3主要包含两个步骤:步骤s31获取步骤s2所得的矩形窗口矩阵;步骤s32根据矩形窗口矩阵,从阈值图像中截取出对应位置,获得目标斑块。本申请提出了一种基于改进的鲸鱼优化算法的图像处理方法,实质上可以是图像处理中的对图像中的目标进行搜索的目标搜索算法,可以根据图像的灰度信息快速定位到灰度比较均匀的目标位置,且不需要目标尺寸的先验信息,对图像识别,图像分类等复杂的图像处理任务具有积极意义,同时,该方法对可见光自适应伪装迷彩设计领域中的斑块设计,也具有一定的应用前景。

在本申请中,示例的,执行主体读取图像后,设定阈值个数n为4,种群规模m为30,最大迭代次数max_iter为500,最大终止计数max_count为100,利用改进的鲸鱼优化算法,以图像的kapur熵为优化目标函数,经过迭代后,最终得到分割阈值x*(113,190,217,252),根据得到的分割阈值生成阈值图像。

综上,本申请的图像处理方法,示例的,执行主体可以获取由步骤s2所得的分个阈值x*(113,190,217,252),在其第一个元素前添加0阈值获得新的阈值向量x*(0,113,190,217,252),将种群规模n设置为30,最大迭代次数max_iter为500,设置最大终止计数max_count为100,并对x*(0,113,190,217,252)进行迭代搜索,当搜索阈值为0时,搜索获得的矩形窗口向量为(25,164,314,1249);当搜索阈值为113时,搜索获得的矩形窗口向量为(1239,1122,1462,1354);当搜索阈值为190时,搜索获得矩形窗口向量为(1052,919,1225,1134);当搜索阈值为217时,搜索的矩形窗口向量为(1024,36,1192,1131);当搜索阈值为252时,搜索获得的矩形窗口向量为(1,1,1795,1375)。

在获得经步骤s2处理得到的目标矩形窗口向量后,在阈值图像中截取出相应位置,目标矩形窗口向量为(25,164,314,1249)时,截取出的第一图像;目标矩形窗口向量为(1239,1122,1462,1354)时截取出第二图像;矩形窗口向量为(1052,919,1225,1134)时截取出的图像为第三图像;目标矩形窗口向量为(1024,36,1192,1131)时截取出的图像为第四图像;目标矩形窗口向量为(1,1,1795,1375)时截取出的图像为第五图像。其中,第一图像、第二图像、第三图像、第四图像和第五图像分别处于阈值图像中的不同位置且显示出来的图像也不同,由此可以准确根据目标矩形窗口向量截取图像中的目标区域。

如图5所示,本申请还提供了一种图像处理装置,包括获取单元501、目标矩形窗口向量确定单元502和目标区域截取单元503。

获取单元501,被配置成获取图像,进而基于预设的监督计数器和卡普尔熵的鲸鱼优化算法,确定最佳分割阈值向量,以对图像进行阈值分割,生成阈值图像。

目标矩形窗口向量确定单元502,被配置成利用基于像素集中度函数的鲸鱼优化算法,对阈值图像中的各阈值像素在阈值图像中集中的位置进行搜索,以确定目标矩形窗口向量。

目标区域截取单元503,被配置成根据目标矩形窗口向量,截取图像中的目标区域。

在一些实施例中,获取单元501进一步被配置成:多次执行以下迭代步骤:对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算对于图像的卡普尔熵值;将卡普尔熵值最大的矩形窗口向量确定为第一最佳分割阈值向量;更新图像中的每一个矩形窗口向量所对应的参数值,进而对更新后的每一个矩形窗口向量计算对于图像的卡普尔熵值;将更新后的每一个矩形窗口向量中卡普尔熵值最大的矩形窗口向量确定为第n最佳分割阈值向量;响应于确定第n最佳分割阈值向量大于第一最佳分割阈值向量,则将第n最佳分割阈值向量确定为最佳分割阈值向量;响应于确定第n最佳分割阈值向量等于第一最佳分割阈值向量,则将计数加1;响应于确定第n最佳分割阈值向量小于第一最佳分割阈值向量,则舍弃第n最佳分割阈值向量。

在一些实施例中,获取单元501进一步被配置成:获取图像对应的原灰度图像;扩展最佳分割阈值向量,在最佳分割阈值向量的第一个元素前添加元素0,在最后一个元素后添加元素256,生成目标分割阈值向量;基于原灰度图像和目标分割阈值向量,对图像进行阈值化,进而生成阈值图像。

在一些实施例中,目标矩形窗口向量确定单元502进一步被配置成:多次执行以下迭代步骤:对图像划分区域,生成各矩形窗口向量,响应于当前迭代次数小于最大迭代次数且当前终止误差计数小于最大终止误差计数,对图像中的每一个矩形窗口向量计算像素集中度值;将像素集中度值最大的矩形窗口向量确定为第一最佳矩形窗口向量;更新图像中的每一个矩形窗口向量所对应的参数值并且调整每一个矩形窗口向量中元素的位置,进而对更新后的每一个矩形窗口向量计算像素集中度值;将更新后的每一个矩形窗口向量对应的像素集中度值最大的矩形窗口向量确定为第n最佳矩形窗口向量;响应于确定第n最佳矩形窗口向量大于第一最佳矩形窗口向量,则将第n最佳矩形窗口向量确定为目标矩形窗口向量;响应于确定第n最佳矩形窗口向量等于第一最佳矩形窗口向量,则将计数加1;响应于确定第n最佳矩形窗口向量小于第一最佳矩形窗口向量,则舍弃第n最佳矩形窗口向量;响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素不是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,重新设置搜索阈值继续进行搜索;响应于达到最大迭代次数或者达到最大终止计数,且最佳矩形窗口所对应的元素是最佳分割阈值向量中的最后一个元素,记录该得到的最佳矩形窗口向量,并输出所有的矩形窗口向量。

在一些实施例中,图像处理装置还包括图5中未示出的调整单元,被配置成:对更新后的图像中的每一个矩形窗口向量按矩形窗口向量的数据结构进行调整;以及矩形窗口向量的数据结构,包括:按顺序组成的r1,c1,r2,c2,其中,r1,c1分别表示矩形窗口在图像中的起始行和起始列,r2,c2分别表示矩形窗口在图像中的终止行和终止列,并且r2≥r1,c2≥c1。

在一些实施例中,目标矩形窗口向量确定单元502进一步被配置成:统计阈值图像中像素的值为最佳矩形窗口所对应的元素的第一像素数;统计矩形窗口中像素的值为最佳矩形窗口所对应的元素的第二像素数;计算阈值图像的总像素数,计算矩形窗口中的第三像素数;基于第一像素数、第二像素数、总像素数和第三像素数,确定像素集中度值。

在一些实施例中,目标区域截取单元503进一步被配置成:获取矩形窗口向量截取的目标区域用表示,按照下式进行截取:

本说明书实施例中支付涉及的技术载体,例如可以包括近场通信(nearfieldcommunication,nfc)、wifi、3g/4g/5g、pos机刷卡技术、二维码扫码技术、条形码扫码技术、蓝牙、红外、短消息(shortmessageservice,sms)、多媒体消息(multimediamessageservice,mms)等。

本说明书实施例中生物识别所涉及的生物特征,例如可以包括眼部特征、声纹、指纹、掌纹、心跳、脉搏、染色体、dna、人牙咬痕等。其中眼纹可以包括虹膜、巩膜等生物特征。

本说明书一个或多个实施例提供的图像处理方法和装置,通过增加监督计数器来监督搜索过程,在不继续出现更优解后及时终止迭代,减少了计算量。提出像素集中度函数作为目标函数,对阈值图像中的各阈值像素在阈值图像中集中的位置进行搜索,以确定目标矩形窗口向量,具有计算量小,适应性强等优点。通过目标矩形窗口向量作为求解目标函数的参数,搜索的矩形窗口的尺寸可以根据目标的大小自适应调整,可快速且精确地搜索位置和大小不特定的目标在图像中的矩形区域,也可用于图像的特征斑块的提取,可应用于基于背景的迷彩生成,适用范围广。

需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成的方法。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。

处理器1010可以采用通用的cpu(centralprocessingunit,中央处理器)、微处理器、应用专用集成电路(applicationspecificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。

存储器1020可以采用rom(readonlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。

输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。

通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。

总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。

需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。

本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。

另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。

尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。

本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。

再多了解一些
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1