CN116309941A - 一种移动设备划线线条矫正方法及系统 - Google Patents
一种移动设备划线线条矫正方法及系统 Download PDFInfo
- Publication number
- CN116309941A CN116309941A CN202310525834.3A CN202310525834A CN116309941A CN 116309941 A CN116309941 A CN 116309941A CN 202310525834 A CN202310525834 A CN 202310525834A CN 116309941 A CN116309941 A CN 116309941A
- Authority
- CN
- China
- Prior art keywords
- point
- points
- point set
- curve
- coordinate
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012937 correction Methods 0.000 title claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 81
- 239000013598 vector Substances 0.000 claims abstract description 41
- 241001235128 Doto Species 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 5
- 230000000052 comparative effect Effects 0.000 description 4
- 238000009499 grossing Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种移动设备划线线条矫正方法及系统,其中方法包括获取绘制曲线的点集合X1,还包括以下步骤:对所述点集合X1进行常规数学向量计算并生成点集合X2;对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3;将所述点集合X3中的点进行连线,生成优化后的曲线。本发明提出的一种移动设备划线线条矫正方法及系统,使用B‑spline算法对绘制的线条中拐点和线条通过计算进行平滑矫正,平滑力度可调,解决用户使用移动设备画线控笔困难的问题。
Description
技术领域
本发明涉及信息处理的技术领域,特别是一种移动设备划线线条矫正方法及系统。
背景技术
随着终端设备和电子技术的发展,移动终端通常可以根据用户在触摸屏上的各种触摸操作,理解用户意图并快速的作出相应的响应,进而为用户提供更加方便、智能的服务。
在用户通过手指、手写笔等触摸物在触摸屏的表面滑动时会留下移动的轨迹,然而人的手指或者手写笔在移动是会产生上下的波动,造成轨迹凹凸不平,造成视觉效果很差或者没有按照自己的意愿进行绘画。因此,需要一种能够对用户在触摸屏上的触摸操作形成的绘制轨迹进行平滑处理,从而改善绘制轨迹的凹凸不平的问题,提高绘制轨迹的显示效果的方法。
申请公开号为CN113362418A的发明专利申请公开了一种基于赛贝尔曲线的曲线平滑方法、装置、计算机设备及介质,该方法包括:首先,按绘制顺序选定绘制的标记点,并标定起始点和终止点;然后,以预设方法设定排除起始点和终止点以外的标记点对应的控制点;最后,根据控制点生成以起始点和终止点为两端点的并经过所有标记点的贝塞尔曲线。该方法需要用户自己设定控制点,操作不方便。
发明内容
为了解决上述的技术问题,本发明提出的一种移动设备划线线条矫正方法及系统,使用B-spline算法对绘制的线条中拐点和线条通过计算进行平滑矫正,平滑力度可调,解决用户使用移动设备画线控笔困难的问题。
本发明第一目的是提供一种移动设备划线线条矫正方法,包括获取绘制曲线的点集合X1,还包括以下步骤:
对所述点集合X1进行常规数学向量计算并生成点集合X2;
对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3;
将所述点集合X3中的点进行连线,生成优化后的曲线。
优选的是,所述对所述点集合X1进行常规数学向量计算并生成点集合X2步骤包括以下子步骤:
将所述点集合X1分成两部分,第一个点p和其他点集合q;
取所述其他点集合q中的第一个点q 1和所述第一个点p进行矫正计算,得到坐标点f 1;取所述其他点集合q中点q 2和所述坐标点f 1进行矫正计算,得到坐标点f 2;
顺序取所述其他点集合q中其他点q i 和所述坐标点f i-1进行矫正计算,得到坐标点f i ;
将得到的坐标点{ f 1, f 2,…, f i ,…, f n-1}存入点集合X2中;
其中,n为点集合X1中点的数量,i∈(2,3,…,n-1)。
在上述任一方案中优选的是,所述矫正计算的方法包括以下子步骤:
对点q i 和点p进行坐标减法运算,得到坐标点o i ;
将点o i 与矫正力度t进行乘法运算,得到坐标点r i ;
将p和r i 进行加法运算,得到坐标点f i 。
在上述任一方案中优选的是,所述坐标点o i 的计算公式为
o i .x= q i .x-p.x
o i .y= q i .y-p.y
其中, q i .x和 q i .y是点q i 的坐标值,p.x和p.y是点p的坐标值,o i .x和o i .y是点o i 的坐标值。
在上述任一方案中优选的是,所述坐标点r i 的计算公式为
r i .x= o i .x×t
r i .y= o i .y×t
其中, r i .x和r i .y是点r i 的坐标值。
在上述任一方案中优选的是,所述坐标点f i 的计算公式为
f i .x= r i .x+p.x
f i .y= r i .y+p.y
其中, f i .x和f i .y是点f i 的坐标值。
在上述任一方案中优选的是,所述对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3步骤包括以下子步骤:
记录初始索引值为0;
当出现第4个绘制点时,将前4个点合并为所述点集合X2的子点集合X21,对这4个点进行三阶B样条算法计算,并更新索引值为4;
当出现第8个绘制点时,进行时间判断;
当上次计算时间和当前计算时间需要大于x毫秒时,则进行下一步判断,否则等待下次计算,索引值+1;
当前绘制点和前两个点的两两之间的斜率绝对值差小于斜率阈值c时,则进行下一步计算,否则等待下次计算,索引值+1;
当上次计算时间和当前计算时间需要大于x毫秒且当前绘制点和前两个点的两两之间的斜率绝对值差小于斜率阈值c时,将第5-8个点合并为所述点集合X2的子点集合X22,对这4个点进行三阶B样条算法计算,并更新索引值为8;
按照上述步骤对曲线进行实时分段,并生成每段曲线对应的所述点集合X2的子点集合X2 j ,j∈(1,2,…,m-1),m为曲线的总段数,m>1;
判断所述子点集合X2 j 中的点的数量是否不小于4,如果小于4,则进行下一个子点集合的判断;如果不小于4,则对所述子点集合X2 j 中的点进行三阶B样条算法计算;
根据标识符从所述子点集合X2 j 中取出当前时刻需要拟合的点集合X3 j ;
判断所述子点集合X3 j 中的点的数量是否不小于4,如果小于4,则等待下一个子点集合的拟合判断;如果不小于4,则对所述子点集合X3 j 中的点进行三阶B样条算法计算。
在上述任一方案中优选的是,所述三阶B样条算法根据需要的曲线类型如闭合曲线、首尾相连曲线以及曲线经过首尾点中至少一种判断需要的权重集合和向量集合。
在上述任一方案中优选的是,所述权重集合中的元素数值设定为1。
在上述任一方案中优选的是,所述向量集合采用均匀向量和进行计算,所述向量集合的前三个和末尾三个元素数值分别设定为0和3,中间部分采用总和为2的均匀向量值即2/(nn -3),其中,nn表示向量集合中的元素总个数。
本发明第二目的是提供一种移动设备划线线条矫正系统,包括用于获取绘制曲线的点集合X1的获取模块,还包括以下步骤:
计算模块:用于对所述点集合X1进行常规数学向量计算并生成点集合X2;
所述计算模块还用于对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3;
生成模块:用于将所述点集合X3中的点进行连线,生成优化后的曲线。
优选的是,所述对所述点集合X1进行常规数学向量计算并生成点集合X2的方法包括以下子步骤:
将所述点集合X1分成两部分,第一个点p和其他点集合q;
取所述其他点集合q中的第一个点q 1和所述第一个点p进行矫正计算,得到坐标点f 1;
取所述其他点集合q中点q 2和所述坐标点f 1进行矫正计算,得到坐标点f 2;
顺序取所述其他点集合q中其他点q i 和坐标点f i-1进行矫正计算,得到坐标点f i ;
将得到的坐标点{ f 1, f 2,…, f i ,…, f n-1}存入点集合X2中;
其中,n为点集合X1中点的数量,i∈(1,2,…,n-1)。
在上述任一方案中优选的是,所述矫正计算的方法包括以下子步骤:
对点q i 和点p进行坐标减法运算,得到坐标点o i ;
将点o i 与矫正力度t进行乘法运算,得到坐标点r i ;
将p和r i 进行加法运算,得到坐标点f i 。
在上述任一方案中优选的是,所述坐标点o i 的计算公式为
o i .x= q i .x-p.x
o i .y= q i .y-p.y
其中, q i .x和 q i .y是点q i 的坐标值,p.x和p.y是点p的坐标值,o i .x和o i .y是点o i 的坐标值。
在上述任一方案中优选的是,所述坐标点r i 的计算公式为
r i .x= o i .x×t
r i .y= o i .y×t
其中, r i .x和r i .y是点r i 的坐标值。
在上述任一方案中优选的是,所述坐标点f i 的计算公式为
f i .x= r i .x+p.x
f i .y= r i .y+p.y
其中, f i .x和f i .y是点f i 的坐标值。
在上述任一方案中优选的是,所述对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3的方法包括以下子步骤:
记录初始索引值为0;
当出现第4个绘制点时,将前4个点合并为所述点集合X2的子点集合X21,对这4个点进行三阶B样条算法计算,并更新索引值为4;
当出现第8个绘制点时,进行时间判断;
当上次计算时间和当前计算时间需要大于x毫秒时,则进行下一步判断,否则等待下次计算,索引值+1;
当前绘制点和前两个点的两两之间的斜率绝对值差小于斜率阈值c时,则进行下一步计算,否则等待下次计算,索引值+1;
当上次计算时间和当前计算时间需要大于x毫秒且当前绘制点和前两个点的两两之间的斜率绝对值差小于斜率阈值c时,将第5-8个点合并为所述点集合X2的子点集合X22,对这4个点进行三阶B样条算法计算,并更新索引值为8;
按照上述步骤对曲线进行实时分段,并生成每段曲线对应的所述点集合X2的子点集合X2 j ,j∈(1,2,…,m-1),m为曲线的总段数,m>1;
判断所述子点集合X2 j 中的点的数量是否不小于4,如果小于4,则进行下一个子点集合的判断;如果不小于4,则对所述子点集合X2 j 中的点进行三阶B样条算法计算;
根据标识符从所述子点集合X2 j 中取出当前时刻需要拟合的点集合X3 j ;
判断所述子点集合X3 j 中的点的数量是否不小于4,如果小于4,则等待下一个子点集合的拟合判断;如果不小于4,则对所述子点集合X3 j 中的点进行三阶B样条算法计算。
在上述任一方案中优选的是,所述三阶B样条算法根据需要的曲线类型如闭合曲线、首尾相连曲线以及曲线经过首尾点中至少一种判断需要的权重集合和向量集合。
在上述任一方案中优选的是,所述权重集合中的元素数值设定为1。
在上述任一方案中优选的是,所述向量集合采用均匀向量和进行计算,所述向量集合的前三个和末尾三个元素数值分别设定为0和3,中间部分采用总和为2的均匀向量值即2/(nn -3),其中,nn表示向量集合中的元素总个数。
本发明提出了一种移动设备划线线条矫正方法,能够对用户在触摸屏上的触摸操作形成的绘制轨迹进行平滑处理,从而改善绘制轨迹的凹凸不平的问题,提高绘制轨迹的显示效果。
附图说明
图1为按照本发明的移动设备划线线条矫正方法的一优选实施例的流程图。
图2为按照本发明的移动设备划线线条矫正系统的一优选实施例的模块示意图。
图3为按照本发明的移动设备划线线条矫正方法的B样条曲线拟合方法的一实施例的流程图。
图4为按照本发明的移动设备划线线条矫正方法的曲线矫正的一实施例的对比示意图。
图5为按照本发明的移动设备划线线条矫正方法的线条矫正的一实施例的对比示意图。
图6为按照本发明的移动设备划线线条矫正方法的线条平滑矫正的一实施例的对比示意图。
图7为按照本发明的移动设备划线线条矫正方法的线条平滑矫正的一实施例的另一对比示意图。
具体实施方式
下面结合附图和具体的实施例对本发明做进一步的阐述。
实施例1
如图1、2所示,执行步骤100,使用获取模块200获取绘制曲线的点集合X1。
执行步骤110,使用计算模块210对所述点集合X1进行常规数学向量计算并生成点集合X2,包括以下子步骤:
执行步骤111,将所述点集合X1分成两部分,第一个点p和其他点集合q。
执行步骤112,取所述其他点集合q中的第一个点q 1和所述第一个点p进行矫正计算,得到坐标点f 1。
执行步骤113,取所述其他点集合q中点q 2和所述坐标点f 1进行矫正计算,得到坐标点f 2。
执行步骤114,顺序取其他点集合q中其他点q i 和坐标点f i-1进行矫正计算,得到坐标点f i 。
矫正计算的方法包括以下子步骤:
对点q i 和点p进行坐标减法运算,得到坐标点o i ,所述坐标点o i 的计算公式为
o i .x= q i .x-p.x
o i .y= q i .y-p.y
其中, q i .x和 q i .y是点q i 的坐标值,p.x和p.y是点p的坐标值,o i .x和o i .y是点o i 的坐标值。
将点o i 与矫正力度t进行乘法运算,得到坐标点r i ,所述坐标点r i 的计算公式为
r i .x= o i .x×t
r i .y= o i .y×t
其中, r i .x和r i .y是点r i 的坐标值。
将p和r i 进行加法运算,得到坐标点f i ,所述坐标点f i 的计算公式为
f i .x= r i .x+p.x
f i .y= r i .y+p.y
其中, f i .x和f i .y是点f i 的坐标值。
执行步骤114,将得到的坐标点{ f 1, f 2,…, f i ,…, f n-1}存入点集合X2中。
其中,n为点集合X1中点的数量,i∈(1,2,…,n-1)。
执行步骤120,使用计算模块210对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3,如图3所示,包括以下子步骤:
执行步骤121,记录初始索引值为0;
执行步骤122,当出现第4个绘制点时,将前4个点合并为所述点集合X2的子点集合X21,对这4个点进行三阶B样条算法计算,并更新索引值为4;
执行步骤123,当出现第8个绘制点时,进行时间判断;
当上次计算时间和当前计算时间需要大于x毫秒时,则进行下一步判断,否则等待下次计算,索引值+1;
且当前绘制点和前两个点的两两之间的斜率绝对值差小于斜率阈值c时,则进行下一步计算,否则等待下次计算,索引值+1;
当上次计算时间和当前计算时间需要大于x毫秒且当前绘制点和前两个点的两两之间的斜率绝对值差小于斜率阈值c时,将第5-8个点合并为所述点集合X2的子点集合X22,对这4个点进行三阶B样条算法计算,并更新索引值为8;
执行步骤124,按照上述步骤对曲线进行分段,并生成每段曲线对应的所述点集合X2的子点集合X2 j ,j∈(1,2,…,m-1),m为曲线的总段数。
执行步骤122,判断所述子点集合X2 j 中的点的数量是否不小于4,如果小于4,则执行步骤123,j=j+1,进行下一个子点集合的判断;如果不小于4,则执行步骤124,对所述子点集合X2 j 中的点进行三阶B样条算法计算。所述三阶B样条算法根据需要的曲线类型如闭合曲线、首尾相连曲线以及曲线经过首尾点中至少一种判断需要的权重集合和向量集合,所述权重集合中的元素数值设定为1;所述向量集合采用均匀向量和进行计算,所述向量集合的前三个和末尾三个元素数值分别设定为0和3,中间部分采用总和为2的均匀向量值即2/(nn -3),其中,nn表示向量集合中的元素总个数,m>1。
执行步骤125,根据标识符从所述子点集合X2 j 中取出当前时刻需要拟合的点集合X3 j 。
执行步骤126,判断所述子点集合X3 j 中的点的数量是否不小于4,如果小于4,则执行步骤127,j=j+1,等待下一个子点集合的拟合判断;如果不小于4,则执行步骤128,对所述子点集合X3 j 中的点进行三阶B样条算法计算。
执行步骤130,使用生成模块220将所述点集合X3中的点进行连线,生成优化后的曲线。
实施例2
本发明提供了一种移动设备划线线条矫正方法,能够对用户在触摸屏上的触摸操作形成的绘制轨迹进行平滑处理,从而改善绘制轨迹的凹凸不平的问题,提高绘制轨迹的显示效果的方法。
本发明的目的是为了解决线条绘制不够平滑以及矫正力度不强的问题。
具体技术方案:采用B样条曲线算法(B-spline Curves)
步骤1:获取绘制曲线的点集合X1。
步骤2:对点集合X1进行常规数学向量计算,具体方式为将点集合n分为两部分,第一个点p和其他点集合q,取q第一个点q1和p(仅首次使用点p)进行计算,首先对q1和p进行坐标减法运算即x=q1.x-p.x,y=q1.y-p.y得出新的坐标o1(x,y),得结果o1坐标的x和y再分别与矫正力度t进行乘法运算得出新的点r1,将p和r进行加法运算得出点最终矫正坐标f1;依次重复上述步骤顺序计算q中的点与上次计算结果的点(n表示每次计算出矫正坐标标记,如第二次则为f1,第三次为f3等)进行计算得出的新的矫正坐标,将所有矫正点存入新的点集合X2;。@蓝色冰心 线条的
步骤3:首先需要对曲线分段计算,因为绘制过程中需要实时保证曲线的流畅性,所以每次对若干个点(至少4个)进行B样条曲线拟合,根据标识符从X2中取出当前时刻需要拟合的点集合X3;判断点集合X3的数量n,若不足4个点则下一帧(即下次程序计算周期)再次进行拟合判断;若满足则进行三阶B样条算法计算。
B样条算法需要注意点,是根据自己需要的曲线类型如闭合曲线、首尾相连曲线以及曲线经过首尾点等来判断需要的权重集合(weights)和向量集合(knots); 权重用于将坐标转化,向量用于坐标的插值运算;根据设计需求这里我们权重weights元素数值统一设定为1,向量集合knots采用均匀向量和的方式,并且knots的前三个和末尾三个元素数值分别设定为0和3(因为三阶所以有三个),中间部分采用总和为2的均匀向量值即2/(n-3);注意点插值计算精度t越小越好(一般0.01即可),得出的点集合就会越密集。
步骤4:将步骤3得出的点集合进行连线,生成优化后的曲线。
技术原理:B样条曲线具有几何不变性、凸包性、保凸性、变差减小性、局部支撑性等许多优良性质。
本次发明的技术是在使用B样条计算前先整体进行向量等常用数学方式计算,从而达到需要的效果。
数学方式计算可以使绘制曲线矫正强度的变化,B样条曲线算法可以使线条平滑。
本发明实现的技术效果是:计算量可以得到控制,并且可以适宜的根据绘制情况进行调整,使绘制线条的矫正效果和流畅效果更加符合设计需求。
实施例3
如图4所示,绘制的点不够密集如果通过连线会出现棱角明显,曲线不够圆滑,加入算法后,曲线可以更加圆滑。
如图5所示,因为手抖等原因导致绘制的曲线不够平滑,通过算法可以将曲线矫正的更加平滑。
实施例4
本实施例展示的是线条平滑效果。
如图6所示,左侧曲线是未经过平滑处理的,右侧面曲线是经过平滑处理的,更顺滑。
如图7所示,左侧曲线是未经过平滑处理的,右侧面曲线是经过平滑处理的,弯折点更平顺。
为了更好地理解本发明,以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。本说明书中每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
1.一种移动设备划线线条矫正方法,包括获取绘制曲线的点集合X1,其特征在于,还包括以下步骤:
对所述点集合X1进行常规数学向量计算并生成点集合X2,包括以下子步骤:
所述对所述点集合X1进行常规数学向量计算并生成点集合X2步骤
将所述点集合X1分成两部分,第一个点p和其他点集合q;
取所述其他点集合q中的第一个点q 1和所述第一个点p进行矫正计算,得到坐标点f 1;
取所述其他点集合q中点q 2和所述坐标点f 1进行矫正计算,得到坐标点f 2;
顺序取所述其他点集合q中其他点q i 和所述坐标点f i-1进行矫正计算,得到坐标点f i ;
将得到的坐标点{ f 1, f 2,…, f i ,…, f n-1}存入点集合X2中;
其中,n为点集合X1中点的数量,i∈(2,3,…,n-1);
对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3;
将所述点集合X3中的点进行连线,生成优化后的曲线。
2.如权利要求1所述的移动设备划线线条矫正方法,其特征在于,所述矫正计算的方法包括以下子步骤:
对点q i 和点p进行坐标减法运算,得到坐标点o i ;
将点o i 与矫正力度t进行乘法运算,得到坐标点r i ;
将p和r i 进行加法运算,得到坐标点f i 。
3.如权利要求2所述的移动设备划线线条矫正方法,其特征在于,所述坐标点o i 的计算公式为
o i .x= q i .x-p.x
o i .y= q i .y-p.y
其中, q i .x和 q i .y是点q i 的坐标值,p.x和p.y是点p的坐标值,o i .x和o i .y是点o i 的坐标值。
4.如权利要求3所述的移动设备划线线条矫正方法,其特征在于,所述坐标点r i 的计算公式为
r i .x= o i .x×t
r i .y= o i .y×t
其中, r i .x和r i .y是点r i 的坐标值。
5.如权利要求4所述的移动设备划线线条矫正方法,其特征在于,所述坐标点f i 的计算公式为
f i .x= r i .x+p.x
f i .y= r i .y+p.y
其中, f i .x和f i .y是点f i 的坐标值。
6.如权利要求5所述的移动设备划线线条矫正方法,其特征在于,所述对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3步骤包括以下子步骤:
记录初始索引值为0;
当出现第4个绘制点时,将前4个点合并为所述点集合X2的子点集合X21,对这4个点进行三阶B样条算法计算,并更新索引值为4;
当出现第8个绘制点时,进行时间判断;当上次计算时间和当前计算时间需要大于x毫秒且当前绘制点和前两个点的两两之间的斜率绝对值差小于斜率阈值c时,将第5-8个点合并为所述点集合X2的子点集合X22,对这4个点进行三阶B样条算法计算,并更新索引值为8;
按照上述步骤对曲线进行实时分段,并生成每段曲线对应的所述点集合X2的子点集合X2 j ,j∈(1,2,…,m-1),m为曲线的总段数,m>1;
判断所述子点集合X2 j 中的点的数量是否不小于4,如果小于4,则进行下一个子点集合的判断;如果不小于4,则对所述子点集合X2 j 中的点进行三阶B样条算法计算;
根据标识符从所述子点集合X2 j 中取出当前时刻需要拟合的点集合X3 j ;
判断所述子点集合X3 j 中的点的数量是否不小于4,如果小于4,则等待下一个子点集合的拟合判断;如果不小于4,则对所述子点集合X3 j 中的点进行三阶B样条算法计算。
7.如权利要求6所述的移动设备划线线条矫正方法,其特征在于,所述三阶B样条算法根据需要的曲线类型如闭合曲线、首尾相连曲线以及曲线经过首尾点中至少一种判断需要的权重集合和向量集合。
8.如权利要求7所述的移动设备划线线条矫正方法,其特征在于,所述权重集合中的元素数值设定为1;所述向量集合采用均匀向量和进行计算,所述向量集合的前三个和末尾三个元素数值分别设定为0和3,中间部分采用总和为2的均匀向量值即2/(nn -3),其中,nn表示向量集合中的元素总个数。
9.一种移动设备划线线条矫正系统,包括用于获取绘制曲线的点集合X1的获取模块,其特征在于,还包括以下模块:
计算模块:用于对所述点集合X1进行常规数学向量计算并生成点集合X2,所述对所述点集合X1进行常规数学向量计算并生成点集合X2的方法包括以下子步骤:
将所述点集合X1分成两部分,第一个点p和其他点集合q;
取所述其他点集合q中的第一个点q 1和所述第一个点p进行矫正计算,得到坐标点f 1;
取所述其他点集合q中点q 2和所述坐标点f 1进行矫正计算,得到坐标点f 2;
顺序取所述其他点集合q中其他点q i 和坐标点f i-1进行矫正计算,得到坐标点f i ;
将得到的坐标点{ f 1, f 2,…, f i ,…, f n-1}存入点集合X2中;
其中,n为点集合X1中点的数量,i∈(1,2,…,n-1);
所述计算模块还用于对曲线分段计算,对每段曲线中的N个点进行B样条曲线拟合,生成点集合X3;
生成模块:用于将所述点集合X3中的点进行连线,生成优化后的曲线。
10.如权利要求9所述的移动设备划线线条矫正系统,其特征在于,所述矫正计算的方法包括以下子步骤:
对点q i 和点p进行坐标减法运算,得到坐标点o i ;将点o i 与矫正力度t进行乘法运算,得到坐标点r i ;将p和r i 进行加法运算,得到坐标点f i 。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525834.3A CN116309941B (zh) | 2023-05-11 | 2023-05-11 | 一种移动设备划线线条矫正方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310525834.3A CN116309941B (zh) | 2023-05-11 | 2023-05-11 | 一种移动设备划线线条矫正方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116309941A true CN116309941A (zh) | 2023-06-23 |
CN116309941B CN116309941B (zh) | 2024-01-23 |
Family
ID=86799829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310525834.3A Active CN116309941B (zh) | 2023-05-11 | 2023-05-11 | 一种移动设备划线线条矫正方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116309941B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108470364A (zh) * | 2018-01-29 | 2018-08-31 | 青岛真时科技有限公司 | 一种曲线拟合方法和装置 |
CN109445887A (zh) * | 2018-09-19 | 2019-03-08 | 安徽慧视金瞳科技有限公司 | 一种模拟毛笔笔触的绘制方法 |
CN110246079A (zh) * | 2019-05-23 | 2019-09-17 | 上海交通大学 | 基于b样条曲面拟合的摄像头畸变矫正方法、系统及介质 |
CN111402368A (zh) * | 2019-01-03 | 2020-07-10 | 福建天泉教育科技有限公司 | 一种绘制图形的矫正方法及终端 |
CN112884864A (zh) * | 2021-01-21 | 2021-06-01 | 广州朗国电子科技有限公司 | 基于电子白板自动矫正矩形的绘图方法及其应用 |
CN115100078A (zh) * | 2022-07-25 | 2022-09-23 | 湖南大学 | 一种曲面屏图像中点阵坐标修正与填补的方法及相关装置 |
CN115861547A (zh) * | 2023-02-15 | 2023-03-28 | 南京铖联激光科技有限公司 | 一种基于投影的模型表面样条线生成方法 |
CN116051674A (zh) * | 2022-12-29 | 2023-05-02 | 杭州海康威视系统技术有限公司 | 一种电子白板线条绘制方法、电子白板及存储介质 |
-
2023
- 2023-05-11 CN CN202310525834.3A patent/CN116309941B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108470364A (zh) * | 2018-01-29 | 2018-08-31 | 青岛真时科技有限公司 | 一种曲线拟合方法和装置 |
CN109445887A (zh) * | 2018-09-19 | 2019-03-08 | 安徽慧视金瞳科技有限公司 | 一种模拟毛笔笔触的绘制方法 |
CN111402368A (zh) * | 2019-01-03 | 2020-07-10 | 福建天泉教育科技有限公司 | 一种绘制图形的矫正方法及终端 |
CN110246079A (zh) * | 2019-05-23 | 2019-09-17 | 上海交通大学 | 基于b样条曲面拟合的摄像头畸变矫正方法、系统及介质 |
CN112884864A (zh) * | 2021-01-21 | 2021-06-01 | 广州朗国电子科技有限公司 | 基于电子白板自动矫正矩形的绘图方法及其应用 |
CN115100078A (zh) * | 2022-07-25 | 2022-09-23 | 湖南大学 | 一种曲面屏图像中点阵坐标修正与填补的方法及相关装置 |
CN116051674A (zh) * | 2022-12-29 | 2023-05-02 | 杭州海康威视系统技术有限公司 | 一种电子白板线条绘制方法、电子白板及存储介质 |
CN115861547A (zh) * | 2023-02-15 | 2023-03-28 | 南京铖联激光科技有限公司 | 一种基于投影的模型表面样条线生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116309941B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344755B (zh) | 视频动作的识别方法、装置、设备及存储介质 | |
AU2015318093B2 (en) | Smoothing and GPU-enabled rendering of digital ink | |
Batenburg et al. | DART: a fast heuristic algebraic reconstruction algorithm for discrete tomography | |
CN111640187B (zh) | 一种基于插值过渡的视频拼接方法及系统 | |
WO2020232985A1 (zh) | 基于颜色表优化的二维标量场数据可视化方法及系统 | |
CN107239216A (zh) | 基于触摸屏的绘制处理方法和装置 | |
CN110021000B (zh) | 基于图层变形的发际线修复方法及装置 | |
CN112306301A (zh) | 触控数据的处理方法、装置、设备及存储介质 | |
Foare et al. | Semi-linearized proximal alternating minimization for a discrete Mumford–Shah model | |
CN113792730A (zh) | 文档图像的矫正方法、装置、电子设备和存储介质 | |
CN112419477A (zh) | 一种面部图像风格转换方法、装置、存储介质和电子设备 | |
CN113610989A (zh) | 风格迁移模型训练方法和装置、风格迁移方法和装置 | |
CN115222845A (zh) | 样式字体图片生成方法、装置、电子设备和介质 | |
US20230162413A1 (en) | Stroke-Guided Sketch Vectorization | |
CN116309941B (zh) | 一种移动设备划线线条矫正方法及系统 | |
CN114862725A (zh) | 基于光流法实现运动感知模糊特效的方法及装置 | |
US9036938B2 (en) | Image processing apparatus, image processing method, and program | |
CN113657396B (zh) | 训练方法、译文展示方法、装置、电子设备以及存储介质 | |
CN109684973B (zh) | 基于对称一致性的卷积神经网络的人脸图像填充系统 | |
CN108961268B (zh) | 一种显著图计算方法及相关装置 | |
CN109857322A (zh) | 一种基于安卓的画笔宽度控制方法和装置 | |
CN113766117B (zh) | 一种视频去抖动方法和装置 | |
CN111126101B (zh) | 关键点位置的确定方法、装置、电子设备和存储介质 | |
JP2021086284A (ja) | 画像処理装置、画像処理方法、及びプログラム | |
CN111931566B (zh) | 一种基于图像处理的人脸卡通形象设计方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |