一种图像区域像素面积的高效计算方法技术

技术编号:19695790 阅读:23 留言:0更新日期:2018-12-08 12:11
公开一种图像区域像素面积的高效计算方法,已知二值图像I中图像区域中心点C(xc,yc),通过如下步骤实现:1.设置链表L={ai(p,q)}和表尾指针ep;2.将中心点C(xc,yc)四周的像素点存入链表L;3.判断链表L中的元素相对中心点C处在的象限位置,并进入相应的步骤,如果表尾指针ep为0,则得到图像区域的像素面积值s,结束该过程;4.在第一象限从中心向外搜索,累计像素数量;5.在第二象限从中心向外搜索,累计像素数量;6.在第三象限从中心向外搜索,累计像素数量;7.在第四象限从中心向外搜索,累计像素数量。

【技术实现步骤摘要】
一种图像区域像素面积的高效计算方法
本专利技术涉及一种图像区域像素面积的高效计算方法,属于图像处理领域。
技术介绍
计算机视觉应用越来越广泛,已经从简单的视频记录,发展为图像识别与分析,比如车牌识别,人脸识别,人体跟踪以及双目立体视觉等。因此图像处理算法的重要性凸显出来,促进了图像去噪、图像变换、图像分割、图像压缩、图像增强、图像模糊处理等算法的蓬勃快速发展。
技术实现思路
本专利技术提供一种图像区域像素面积的高效计算方法,该方案采用中心点出发,螺旋向外搜索该区域像素点的方法,该方法具有检测可靠,算法运算速度快,计算精确的优点。本专利技术解决其技术问题所采用的技术方案是:一种图像区域像素面积的高效计算方法,已知二值图像I(x,y),其中,x=1~M,y=1~N,M为x轴方向上的最大像素个数,N为y轴方向上的最大像素个数,图像区域I(x,y)等于1,x=1~M,y=1~N,M为x轴方向上的最大像素个数,N为y轴方向上的最大像素个数,中心点为C(xc,yc),通过如下步骤实现:(1)设置链表L={ai},其中ai=(p,q),i=1,2,3......,设置表尾指针ep,指向链表L中最新数据的位置,初始值为0,设置兴趣区域的像素面积s,初始值为1;(2)初始化链表L,如果I(xc+1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc+1,yc),I(xc+1,yc)=0;如果I(xc,yc+1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc+1),I(xc,yc+1)=0;如果I(xc-1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc-1,yc),I(xc-1,yc)=0;如果I(xc,yc-1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc-1),I(xc,yc-1)=0;(3)对于链表L,如果ep等于0,则计算完成,得到图像区域的像素面积值s,结束该过程;如果aep.p-xc>0,并且aep.q-yc≥0,执行步骤4;如果aep.p-xc≤0,并且aep.q-yc>0,执行步骤5;如果aep.p-xc<0,并且aep.q-yc≤0,执行步骤6;如果aep.p-xc≥0,并且aep.q-yc<0,执行步骤7;(4)建立临时变量(m,n),令m=aep.p,n=aep.q,然后ep=ep-1;如果I(m+1,n)等于1,则s=s+1,ep=ep+1,aep=(m+1,n),I(m+1,n)=0;如果I(m,n+1)等于1,则s=s+1,ep=ep+1,aep=(m,n+1),I(m,n+1)=0;返回步骤3;(5)建立临时变量(m,n),令m=aep.p,n=aep.q,然后ep=ep-1;如果I(m-1,n)等于1,则s=s+1,ep=ep+1,aep=(m-1,n),I(m-1,n)=0;如果I(m,n+1)等于1,则s=s+1,ep=ep+1,aep=(m,n+1),I(m,n+1)=0;返回步骤3;(6)建立临时变量(m,n),令m=aep.p,n=aep.q,然后ep=ep-1;如果I(m-1,n)等于1,则s=s+1,ep=ep+1,aep=(m-1,n),I(m-1,n)=0;如果I(m,n-1)等于1,则s=s+1,ep=ep+1,aep=(m,n-1),I(m,n-1)=0;返回步骤3;(7)建立临时变量(m,n),令m=aep.x,n=aep.y,然后ep=ep-1;如果I(m+1,n)等于1,则s=s+1,ep=ep+1,aep=(m+1,n),I(m+1,n)=0;如果I(m,n-1)等于1,则s=s+1,ep=ep+1,aep=(m,n-1),I(m,n-1)=0;返回步骤3。本专利技术的有益效果主要表现在:1、方法简单,效率高,因此运算速度快;2、计算结果精确,误差小。附图说明图1是图像区域像素面积的高效计算方法的示意图。具体实施方式下面结合附图对本专利技术作进一步描述:参照图1,一种图像区域像素面积的高效计算方法,已知二值图像I(x,y),其中,x=1~M,y=1~N,M为x轴方向上的最大像素个数,N为y轴方向上的最大像素个数,图像区域I(x,y)等于1,其他区域I(x,y)等于0,中心点为C(xc,yc)。所述的高效计算方法通过如下步骤实现:(1)设置链表L={ai},其中ai=(x,y),i=1,2,3......,设置表尾指针ep,指向链表L中最新数据的位置,初始值为0,设置兴趣区域的像素面积s,初始值为1;步骤1为后续计算做准备。链表L用于存储从中心向四周辐射搜索的最外围像素。(2)初始化链表L,如果I(xc+1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc+1,yc),I(xc+1,yc)=0;如果I(xc,yc+1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc+1),I(xc,yc+1)=0;如果I(xc-1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc-1,yc),I(xc-1,yc)=0;如果I(xc,yc-1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc-1),I(xc,yc-1)=0;在步骤2中,以中心点C(xc,yc)为核心,是建立初始搜索路径,为中心点C(xc,yc)上下左右的相邻点。(3)对于链表L,如果ep等于0,则计算完成,得到图像区域的像素面积值s,结束该过程;如果aep.p-xc>0,并且aep.q-yc≥0,执行步骤4;如果aep.p-xc≤0,并且aep.q-yc>0,执行步骤5;如果aep.p-xc<0,并且aep.q-yc≤0,执行步骤6;如果aep.p-xc≥0,并且aep.q-yc<0,执行步骤7;步骤3是循环搜索的入口,因此首先进行结束条件的判断,如果ep等于0,则完成了图像区域的像素面积s的计算,结束该过程;否则,对链表L中最新数据的位置进行判断,根据处在相对于中心点C(xc,yc)的象限位置选择不同的步骤进行处理。(4)建立临时变量(m,n),令m=aep.p,n=aep.q,然后ep=ep-1;如果I(m+1,n)等于1,则s=s+1,ep=ep+1,aep=(m+1,n),I(m+1,n)=0;如果I(m,n+1)等于1,则s=s+1,ep=ep+1,aep=(m,n+1),I(m,n+1)=0;返回步骤3;(5)建立临时变量(m,n),令m=aep.p,n=aep.q,然后ep=ep-1;如果I(m-1,n)等于1,则s=s+1,ep=ep+1,aep=(m-1,n),I(m-1,n)=0;如果I(m,n+1)等于1,则s=s+1,ep=ep+1,aep=(m,n+1),I(m,n+1)=0;返回步骤3;(6)建立临时变量(m,n),令m=aep.p,n=aep.q,然后ep=ep-1;如果I(m-1,n)等于1,则s=s+1,ep=ep+1,aep=(m-1,n),I(m-1,n)=0;如果I(m,n-1)等于1,则s=s+1,ep=ep+1,aep=(m,n-1),I(m,n-1)=0;返回步骤3;(7)建立临时本文档来自技高网...

【技术保护点】
1.一种图像区域像素面积的高效计算方法,已知二值图像I(x,y),其中,x=1~M,y=1~N,M为x轴方向上的最大像素个数,N为y轴方向上的最大像素个数,图像区域I(x,y)等于1,x=1~M,y=1~N,M为x轴方向上的最大像素个数,N为y轴方向上的最大像素个数,中心点为C(xc,yc),其特征在于:通过如下步骤实现:(1) 设置链表L={ai},其中ai=(p,q),i=1,2,3......,设置表尾指针ep,指向链表L中最新数据的位置,初始值为0,设置兴趣区域的像素面积s,初始值为1;(2) 初始化链表L,如果I(xc+1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc+1,yc),I(xc+1,yc)=0;如果I(xc,yc+1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc+1),I(xc,yc+1)=0;如果I(xc‑1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc‑1,yc),I(xc‑1,yc)=0;如果I(xc,yc‑1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc‑1),I(xc,yc‑1)=0;(3) 对于链表L,如果ep等于0,则计算完成,得到图像区域的像素面积值s,结束该过程;如果aep.p‑xc>0,并且aep.q‑yc≥0,执行步骤4;如果aep.p‑xc≤0,并且aep.q‑yc>0,执行步骤5;如果aep.p‑xc...

【技术特征摘要】
1.一种图像区域像素面积的高效计算方法,已知二值图像I(x,y),其中,x=1~M,y=1~N,M为x轴方向上的最大像素个数,N为y轴方向上的最大像素个数,图像区域I(x,y)等于1,x=1~M,y=1~N,M为x轴方向上的最大像素个数,N为y轴方向上的最大像素个数,中心点为C(xc,yc),其特征在于:通过如下步骤实现:(1)设置链表L={ai},其中ai=(p,q),i=1,2,3......,设置表尾指针ep,指向链表L中最新数据的位置,初始值为0,设置兴趣区域的像素面积s,初始值为1;(2)初始化链表L,如果I(xc+1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc+1,yc),I(xc+1,yc)=0;如果I(xc,yc+1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc+1),I(xc,yc+1)=0;如果I(xc-1,yc)等于1,则s=s+1,ep=ep+1,aep=(xc-1,yc),I(xc-1,yc)=0;如果I(xc,yc-1)等于1,则s=s+1,ep=ep+1,aep=(xc,yc-1),I(xc,yc-1)=0;(3)对于链表L,如果ep等于0,则计算完成,得到图像区域的像素面积值s,结束该过程;如果aep.p-xc>0,并且aep.q-yc≥0,执行步骤4;如果aep.p-xc≤0,并且aep.q-yc>0,执行步骤5;如果aep.p-xc<0,并且aep.q-yc≤0,执行步骤...

【专利技术属性】
技术研发人员:刘瑜
申请(专利权)人:杭州晶一智能科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1