CN101739704A - 多边形快速填色方法 - Google Patents

多边形快速填色方法 Download PDF

Info

Publication number
CN101739704A
CN101739704A CN200810181107A CN200810181107A CN101739704A CN 101739704 A CN101739704 A CN 101739704A CN 200810181107 A CN200810181107 A CN 200810181107A CN 200810181107 A CN200810181107 A CN 200810181107A CN 101739704 A CN101739704 A CN 101739704A
Authority
CN
China
Prior art keywords
value
record
polygon
summit
filling method
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.)
Granted
Application number
CN200810181107A
Other languages
English (en)
Other versions
CN101739704B (zh
Inventor
赖威谕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Delta Optoelectronics Inc
Original Assignee
Delta Optoelectronics Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Delta Optoelectronics Inc filed Critical Delta Optoelectronics Inc
Priority to CN2008101811075A priority Critical patent/CN101739704B/zh
Publication of CN101739704A publication Critical patent/CN101739704A/zh
Application granted granted Critical
Publication of CN101739704B publication Critical patent/CN101739704B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

一种多边形快速填色方法,旨在计算出所欲求图形的面积,主要步骤包含:将一内存空间内所有坐标点的记录值归零、于该内存空间内输入一多边形的顶点的坐标、依序连接该些顶点以决定两该顶点之间的连接点、设定每一该些顶点的记录值为一旗标值或一线段值、设定该些连接点的记录值为一旗标值或一线段值、依据该些顶点的该些记录值与该些连接点的该些记录值处理该内存空间内的该些坐标点的该些记录值,以求得该多边形的面积。本发明的多边形快速填色方法可以一般硬件架构即可实现,不需复杂的硬件架构。

Description

多边形快速填色方法
技术领域
本发明涉及一种快速填色方法,特别涉及一种多边形快速填色方法。
背景技术
自从迈入数字化的科技时代之后,配合着计算机的进步,影像处理变成非常热门的话题之一。所谓的影像处理,指的就是将拍摄下来的影像,通过扫描仪,或是直接运用数字相机拍摄后,在计算机中以应用软件进行影像的处理。因为其类似传统摄影时的暗房,因此影像处理软件又有数字暗房之称。不过它免去暗房的不见天日以及与药水为伍,还有高成本痛苦。仅要几个动作,效果立即呈现,甚至可以变化无数有趣的影像,并且利用计算机可以大量复制、印出、或是通过因特网传送。
填图计算面积的技术是影像处理技术中非常重要的课题之一,而由于影像数据量一般都非常大,所以需处理的计算量亦非常大,处理时间则相对增加。但在成本有限、硬件的加速运算有限的条件下,要使处理速度加快,则必须从软件着手。目前常见的填图计算面积的技术处理时间往往都过长,且处理时所占用的内存空间也过大,不适合在硬件上实现。因此若能发明一种快速方法,快速填满多边形的图形,使计算速度提升,且有利于在资源有限的硬件(例如人机界面HMI)上实现,不需复杂的硬件架构,实是影像处理者之福。
发明内容
因此本发明的目的即在改善上述现有技术的运算缓慢,并且可以一般硬件架构即可实现,不需复杂的硬件架构。
为实现上述目的,本发明的多边形快速填色方法主要步骤包含:将一内存空间内所有坐标点的记录值归零、于该内存空间内输入一多边形的顶点的坐标、依序连接该些顶点以决定两该顶点之间的连接点、设定每一该些顶点的记录值为一旗标值或一线段值、设定该些连接点的记录值为一旗标值或一线段值、依据该些顶点的该些记录值与该些连接点的该些记录值处理该内存空间内的该些坐标点的该些记录值,以求得该多边形的面积。
本发明的多边形快速填色方法可以一般硬件架构即可实现,不需复杂的硬件架构。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明的多边形快速填色方法的流程图;
图2为本发明的设定每一该些顶点的记录值为一旗标值或一线段值的流程图;
图3为本发明的设定两顶点间的连接点的记录值为一旗标值或一线段值的流程图;
图4为本发明的设定该些连接点的记录值为一旗标值或一线段值的一实施例;
图5为本发明的设定该些连接点的记录值为一旗标值或一线段值的又一实施例;
图6为本发明的处理该多边形内一列数值的流程图;
图7至图11为本发明的多边形快速填色方法的实施例;
图12为内存空间示意图。
其中,附图标记
S10~60步骤
S420~S650步骤
m(Xm,Ym)位置
m+1(Xm+1,Ym+1)位置
F旗标值
L线段值
具体实施方式
请先参考图7至图11,其为本发明的多边形快速填色方法可应用用途的说明。本发明的多边形快速填色方法的目的即在计算出例如该图7至该图11中的多边形的着色面积,其中该些多边形面积以有序的节点(ordered node)定义。以下将就本发明的多边形快速填色方法的实施方式做详尽说明。
请参考图1,其为本发明的多边形快速填色方法的流程图。首先,步骤S10将一内存空间Pattern(大小为R列乘C行)内所有坐标点(coordinate point)的记录值(record value)归零,以为下一步骤做准备。配合图12,其为内存空间示意图。该内存空间包含记录多个坐标点(每一坐标点的一记录值代表一像素(pixel))的矩阵记忆单元,且假设该内存空间包含C行(X方向)×R(Y方向)列的坐标点,因此随着坐标Y的下标变化,则坐标点的列也会变化。本发明下列步骤以逐列处理的方式,但是须知也可用逐行处理方式,皆在本发明范围之内。再者,在图12所示的内存空间中,坐标以由左至右(X方向)、由上至下(Y方向)增加。接着,回到图1,步骤S20于该内存内输入一多边形(N边形)顶点的坐标依序为(X1,Y1)…(XN,YN)。然后,步骤S30依序连接该些顶点以决定两该顶点之间的连接点,例如(X1,Y1)连到(X2,Y2)、(X2,Y2)连到(X3,Y3)…等等,其中最后一顶点(XN,YN)则连接到第一顶点(X1,Y1)。继之,步骤S40设定每一该些顶点的记录值为一旗标值或一线段值(容后详述)。步骤S50设定该些连接点的记录值为一旗标值或一线段值(容后详述)。步骤S60依据该些顶点的该些记录值与该些连接点的该些记录值处理该内存空间内的该些坐标点的该些记录值,以求得该多边形的面积(容后详述)。
参见图4,在数组状的内存空间中,每一记忆单元概称为坐标点(coordinatepoint),而多边形由多个有序顶点定义,亦即图中标示为m,m+1的点。再者,为了计算多边形面积,两个顶点的联机所界定的坐标点称为连接点(connectionpoint),亦即图中为阴影凸显的点。
请参考图2,其为本发明的设定每一该些顶点的记录值为一旗标值或一线段值的流程图,用以详述前述该步骤S40设定每一该些顶点的记录值为一旗标值或一线段值。假设前述该内存内,在N个顶点中,处理第m个顶点,即目前处理的m顶点(current node)的坐标称为(Xm,Ym),则前一顶点(previousnode)坐标则称为(Xm-1,Ym-1),下一顶点(next node)坐标则称为(Xm+1,Ym+1),XY即为现有的XY轴坐标值,若m为第一点则其前一顶点(Xm-1,Ym-1)即为(XN,YN)。首先步骤S420判定目前顶点与前一顶点及下一顶点是否有反折(reflection)关系,亦即判断下列两种状况:
(1)(Ym>=Ym+1且Ym<Ym-1)
(2)(Ym<Ym+1且Ym>=Ym-1)
是否其中之一成立。若是,表示目前顶点与前一顶点及下一顶点并未反折,则进入步骤S440,设定该目前顶点(Xm,Ym)的记录值为一旗标值(FLAG);若否,表示目前顶点与前一顶点及下一顶点有反折,则进入步骤S460,设定该目前顶点(Xm,Ym)的记录值为一线段值(LINE)。本发明的处理顶点属性的流程可以软件程序语言表达如下:
    if((Ym>=Ym+1 and Ym<Ym-1)or(Ym<Ym+1 and Ym>=Ym-1))
{
    Pattern[Xm][Ym]:=FLAG;
}
else
{
    Pattern[Xm][Ym]:=LINE;
}
请参考图3,其为本发明的设定两个顶点间连接点的记录值为一旗标值或一线段值的流程图,用以详述前述该步骤S50设定该些连接点的记录值为一旗标值或一线段值的部分步骤。在此步骤是处理前述该目前顶点(Xm,Ym)联机到该下一顶点(Xm+1,Ym+1)的联机上的连接点的记录值。首先于步骤S510,判断该目前顶点的列坐标Ym是否不等于该下一顶点的列坐标Ym+1,若否,代表该列坐标Ym等于该列坐标Ym+1,则进入步骤S590结束;若是,代表该目前顶点与下一顶点不在同一列,此时进入步骤S520,判断该列坐标Ym是否大于该列坐标Ym+1,若是,则进入步骤S530,由该(Ym)-1列处理至该(Y m+1)+1列;若否,则进入步骤S540,由该(Y m+1)-1列处理至该(Ym)+1列。这样的流程的目的在仅处理该顶点(Xm,Ym)联机到该顶点(Xm+1,Ym+1)的联机上的连接点的记录值,但不包含(Xm,Ym)与(Xm+1,Ym+1)两顶点。接着,步骤S550判断换列的第一个连接点的记录值是否为一旗标值,即该(Xm,Ym)联机到该(Xm+1,Ym+1)的联机点在换列时,该换列的第一连接点的记录值是否为一旗标值,若是,则进入步骤S560,设定该换列的第一连接点的记录值为一线段值;若否,则进入步骤S570,设定该换列的第一连接点的记录值为一旗标值。这样的流程的目的在于设定该换列的第一连接点的记录值为一旗标值,但若是原本该换列的第连接点的记录值已经为一旗标值,则转为设定该换列的第一连接点的记录值成为一线段值。接着进入步骤S580,设定该换列的其余连接点的记录值为线段值。如对于多边形所有两个顶点之间的连接点都使用如图3的步骤处理,即可实现图1步骤S50的连接点记录值设定步骤。
为了更明白解释上述流程,请参考图4,其为本发明的设定该些连接点的记录值为一旗标值或一线段值的一实施例。图内每一格即代表该内存内的位置,在此将处理该顶点(Xm,Ym)连接到该顶点(Xm+1,Ym+1)的联机上的连接点的属性。该第四图图中记号m代表该顶点(Xm,Ym),记号m+1代表该顶点(Xm+1,Ym+1),记号F代表一旗标值,记号L代表一线段值。由此可以看出在该(Xm,Ym)连接到该(Xm+1,Ym+1)的联机上的连接点,在换列的第一连接点设定其记录值为一旗标值F,其余连接点的记录值设定为线段值L。
并请参考图5,其为本发明的设定该些连接点的记录值为一旗标值或一线段值的又一实施例,旨在说明该步骤S560设定该换列的第一连接点的记录值为一线段值。内容请参考上述该图4的解释,但请特别注意该图4的第四列原本的第一连接点的记录值为一旗标值F,在该图5因为该步骤S550换列的第一点为一旗标值F,于是进入该步骤S560设定该换列的第一连接点的记录值为一线段值L。
经过上述的流程,设定完该些顶点与该些顶点联机上的连接点的记录值为一旗标值或一线段值后,接着是要计算该些顶点顺序联机所形成的面积(即该图7至该图11中着色面积)。请参考图6,其为本发明的处理该多边形内一列数值的流程图,用以详述上述该步骤S60依据该些顶点的该些记录值与该些连接点的该些记录值处理该内存空间内的该些坐标点的该些记录值,以求得该多边形的面积,例如可以计算该些记录值为一特定记录值时(逻辑值1)的总量以求得着色面积。处理方式是由该内存的第一列的每一坐标点开始,完成后再进行第二列,一直到最后一列,并且在每一列是由左至右对每一坐标点进行处理。参见图6,对每一列而言,首先步骤S610开始,接着进入步骤S620判断是否目前处理坐标点的记录值为一旗标值,若是,则进入步骤S630,开始着色(或开始于该坐标点的记录值填入1),若在处理同一列剩余坐标点的记录值再遇到一旗标值则停止着色(或停止于该坐标点的记录值填入1),接着再回到该步骤S610开始;若否(未遇到一旗标值),则进入步骤S640,判定是否遇到该处理列的终点,若是,则进入步骤S650结束处理该列;若否,则回到该步骤S610开始。如此,逐列处理完该内存内所有列的所有坐标点后,再加总所有列内被着色(或其记录值被填入数值为逻辑1)的该坐标点数量,即可知道欲求多边形图形的面积。本发明的处理多边形内数值的流程可以软件程序语言表达如下(NC为该内存空间的宽;NR为该内存空间的长):
  for(j:=0;j<NR;j++)
{
  DRAW_FLAG:=0;
  for(i:=0;i<NC;i++)
  {
    if(Pattern[i][j]==FLAG)
    {
        DRAW_FLAG:=abs(DRAW_FLAG-1);
    }
    if(DRAW_FLAG==1AND Pattern[i][j]==0)
    {
        Pattern[i][j]=DRAW;
    }
  }
}
请参考该图7至该图11,如前所述,其为本发明的多边形快速填色方法的实施例。该些顶点依照号码依序连接,接着依照本发明的多边形快速填色方法即可算出着色面积。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种多边形快速填色方法,应用于一内存空间内,以计算该内存空间内的一多边形的面积,其中该内存空间包含在一X轴与一Y轴延伸的多个数组状坐标点,且该多边形是由多个的有序顶点所界定,其特征在于,该多边形快速填色方法包含:
(A)将该内存空间内所有坐标点的记录值归零;
(B)于该内存空间内输入该多边形的该些顶点的坐标;
(C)依序连接该些顶点以决定两该顶点之间的连接点;
(D)设定每一该些顶点的记录值为一旗标值或一线段值;
(E)设定该些连接点的记录值为一旗标值或一线段值;及
(F)依据该些顶点的该些记录值与该些连接点的该些记录值处理该内存空间内的该些坐标点的该些记录值,以求得该多边形的面积。
2.根据权利要求1所述的多边形快速填色方法,其特征在于,该步骤(D)还包含:
(D1)若目前处理的顶点的Y值不小于下一顶点的Y值,且该目前处理的顶点的Y值小于前一顶点的Y值,则设定该目前处理的顶点的记录值为一旗标值。
3.根据权利要求2所述的多边形快速填色方法,其特征在于,该步骤(D)还包含:
(D2)若该目前处理的顶点的Y值小于该下一顶点的Y值,且该目前处理的顶点的Y值不小于该前一顶点的Y值,则设定该目前处理的顶点的记录值为一旗标值。
4.根据权利要求3所述的多边形快速填色方法,其特征在于,该步骤(D)还包含:
(D3)对于未被设定为一旗标值的该目前处理的顶点,则设定其记录值为一线段值。
5.根据权利要求4所述的多边形快速填色方法,其特征在于,该步骤(E)还包含:
(E1)逐列处理两顶点之间的连接点;及
(E2)若换列的第一连接点的记录值为非旗标值,则设定该第一连接点的记录值为旗标值。
6.根据权利要求5所述的多边形快速填色方法,其特征在于,该步骤(E)还包含:
(E3)若换列的第一连接点的记录值为旗标值,则设定该第一连接点的记录值为线段值。
7.根据权利要求6所述的多边形快速填色方法,其特征在于,该步骤(F)对该内存空间的处理顺序为由左至右,由上至下,该步骤(F)还包含:
(F1)若于一处理列上的一坐标点的记录值为一旗标值,则开始着色,若后续坐标点的记录值也是一旗标值则停止着色。
8.根据权利要求7所述的多边形快速填色方法,其特征在于,该步骤(F)还包含:
(F2)若于该处理列上的坐标点的记录值未遇到一旗标值,则判定是否为该处理列的终点;及
(F3)若遇到该处理列的终点,则结束处理该处理列。
9.根据权利要求8所述的多边形快速填色方法,其特征在于,该步骤(F)还包含:
(F4)加总该内存空间内所有坐标点的特定记录值数量,即为该多边形的面积。
10.根据权利要求9所述的多边形快速填色方法,其特征在于,该特定记录值为对应逻辑1的记录值。
CN2008101811075A 2008-11-21 2008-11-21 多边形快速填色方法 Expired - Fee Related CN101739704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101811075A CN101739704B (zh) 2008-11-21 2008-11-21 多边形快速填色方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101811075A CN101739704B (zh) 2008-11-21 2008-11-21 多边形快速填色方法

Publications (2)

Publication Number Publication Date
CN101739704A true CN101739704A (zh) 2010-06-16
CN101739704B CN101739704B (zh) 2012-05-02

Family

ID=42463153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101811075A Expired - Fee Related CN101739704B (zh) 2008-11-21 2008-11-21 多边形快速填色方法

Country Status (1)

Country Link
CN (1) CN101739704B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989622A (zh) * 2015-03-17 2016-10-05 贝洱工艺公司 自动化方法和设备及预处理方法和计算机可读媒体
CN110533742A (zh) * 2019-09-03 2019-12-03 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5073960A (en) * 1989-05-18 1991-12-17 Sharp Kabushiki Kaisha Image processing method using improved Bresenham algorithm in creating an outline of a figure to be painted and apparatus adopting the method
CN1928918B (zh) * 2005-10-14 2012-10-10 威盛电子股份有限公司 图形处理装置及于图形处理装置中执行着色操作的方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989622A (zh) * 2015-03-17 2016-10-05 贝洱工艺公司 自动化方法和设备及预处理方法和计算机可读媒体
US10416790B2 (en) 2015-03-17 2019-09-17 Behr Process Corporation Paint your place application for optimizing digital painting of an image
CN105989622B (zh) * 2015-03-17 2020-07-21 贝洱工艺公司 自动化方法和设备及计算机可读媒体
US10795459B2 (en) 2015-03-17 2020-10-06 Behr Process Corporation Paint your place application for optimizing digital painting of an image
US11275454B2 (en) 2015-03-17 2022-03-15 Behr Process Corporation Paint your place application for optimizing digital painting of an image
US11934590B2 (en) 2015-03-17 2024-03-19 Behr Process Corporation Paint your place application for optimizing digital painting of an image
CN110533742A (zh) * 2019-09-03 2019-12-03 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质
CN110533742B (zh) * 2019-09-03 2021-05-11 广州视源电子科技股份有限公司 一种图像填色方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN101739704B (zh) 2012-05-02

Similar Documents

Publication Publication Date Title
WO2022068584A1 (zh) 图像处理方法、装置、计算机设备及存储介质
AU2007237356A1 (en) Animated user interface control elements
CN104571802B (zh) 一种信息处理方法及电子设备
CN103631958A (zh) 一种页面自动适配实现内容多屏展示的方法
CN101739704B (zh) 多边形快速填色方法
CN108509272A (zh) 将gpu显存纹理拷贝到系统内存的方法、装置及电子设备
CN114491775B (zh) 一种元宇宙三维建筑模型风格化迁移方法
CN107454455A (zh) 多视频源图像处理方法和装置
CN105096365A (zh) 一种3d界面局部刷新方法及系统
AU2012258437A1 (en) Method, apparatus and system for determining a merged intermediate representation of a page
JPH0239378A (ja) 画像処理システム
EP3301908A1 (en) Numerical image conversion method and device, and storage medium and device
KR20130073943A (ko) 컨텐츠 보존 와프를 이용한 인터페이스들의 재형상화
CN115660941A (zh) 图像搬移方法、装置、电子设备和计算机可读存储介质
CN103885676A (zh) 一种信息处理方法及电子设备
TWI383336B (zh) 多邊形快速填色方法
CN102902534A (zh) 一种透明osd软件实现方法
CN101996390A (zh) 一种图像拷贝的方法和装置
US20150261748A1 (en) Web Service Workflow Chains for Processing Objects
US20050210069A1 (en) Scalable object recognition architecture
CN103826058A (zh) 根据区域用不同系数增强图像质量的图像处理方法和设备
US7755642B2 (en) High speed image processing method and apparatus, program product of the method, computer readable medium of the product, and image forming system having the apparatus
AU2011203173B2 (en) Method, apparatus and system for rendering an object on a page
US7667714B2 (en) Patterned polygon rendering apparatus
JP2001357077A (ja) Cadシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120502