CN113589999A - 笔迹处理方法、笔迹处理装置、非瞬时性存储介质 - Google Patents
笔迹处理方法、笔迹处理装置、非瞬时性存储介质 Download PDFInfo
- Publication number
- CN113589999A CN113589999A CN202010363753.4A CN202010363753A CN113589999A CN 113589999 A CN113589999 A CN 113589999A CN 202010363753 A CN202010363753 A CN 202010363753A CN 113589999 A CN113589999 A CN 113589999A
- Authority
- CN
- China
- Prior art keywords
- stroke
- point
- handwriting
- points
- determining
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 63
- 238000003672 processing method Methods 0.000 title claims abstract description 54
- 230000001052 transient effect Effects 0.000 title description 2
- 230000009471 action Effects 0.000 claims abstract description 84
- 238000000034 method Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 12
- 230000033001 locomotion Effects 0.000 claims description 6
- 238000005070 sampling Methods 0.000 description 39
- 230000000694 effects Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 230000002452 interceptive effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000001154 acute effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- 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
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/22—Character recognition characterised by the type of writing
- G06V30/226—Character recognition characterised by the type of writing of cursive writing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/28—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet
- G06V30/287—Character recognition specially adapted to the type of the alphabet, e.g. Latin alphabet of Kanji, Hiragana or Katakana characters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种笔迹处理方法、笔迹处理装置和非瞬时性存储介质。该笔迹处理方法包括:获取对应于在触控装置的工作表面上的笔划的笔迹点组,其中,笔迹点组包括依次排列的多个笔迹点,多个笔迹点中的每个笔迹点的数据包括坐标和动作类型;基于多个笔迹点的坐标和动作类型确定对应于多个笔迹点的多个模型图案,其中,多个模型图案与多个笔迹点一一对应;以及依次连接多个模型图案,以确定对应于笔迹点组的用于显示的笔迹轨迹。
Description
技术领域
本公开的实施例涉及一种笔迹处理方法、笔迹处理装置、非瞬时性存储介质。
背景技术
随着信息技术的迅速发展,通过持笔或手指在智能交互平板上的手写输入的技术越来越成熟,用户对手写笔迹效果的要求也越来越高,用户不仅希望手写输入的笔迹能被识别,更希望笔迹达到美观且具有较佳笔锋的效果。
发明内容
本公开至少一个实施例提供一种笔迹处理方法,包括:获取对应于在触控装置的工作表面上的笔划的笔迹点组,其中,所述笔迹点组包括依次排列的多个笔迹点,所述多个笔迹点中的每个笔迹点的数据包括坐标和动作类型;基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,其中,所述多个模型图案与所述多个笔迹点一一对应;以及依次连接所述多个模型图案,以确定对应于所述笔迹点组的用于显示的笔迹轨迹。
例如,在本公开一些实施例提供的笔迹处理方法中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,包括:响应于所述多个笔迹点中的第1个笔迹点的动作类型为起笔类型,根据书写应用中书写过程中对应的基本线宽和所述第1个笔迹点的坐标确定对应于所述第1个笔迹点的模型图案的尺寸和中心坐标。
例如,在本公开一些实施例提供的笔迹处理方法中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,还包括:响应于所述第1个笔迹点的动作类型为起笔类型,确定对应于所述笔迹点组的起笔笔画类型,基于所述起笔笔画类型和所述第1个笔迹点对应的模型图案,确定对应于所述第1个笔迹点的辅助模型图案的尺寸和中心坐标,以及基于对应于所述第1个笔迹点的所述模型图案和所述辅助模型图案,确定对应于所述第1个笔迹点的辅助四边形,其中,对应于所述第1个笔迹点的所述辅助四边形用于连接所述第1个笔迹点对应的所述模型图案和所述辅助模型图案。
例如,在本公开一些实施例提供的笔迹处理方法中,确定对应于所述笔迹点组的起笔笔画类型,包括:在所述多个笔迹点中确定第t个笔迹点,其中,t为正整数,t≠1,且所述第t个笔迹点的坐标不同于所述第1个笔迹点的坐标;以及基于所述第1个笔迹点的坐标和所述第t个笔迹点的坐标,确定对应于所述笔迹点组的起笔笔画类型。
例如,在本公开一些实施例提供的笔迹处理方法中,所述第1个笔迹点的坐标为(x1,y1),所述第t个笔迹点的坐标为(x2,y2),dx=x2–x1,dy=y2–y1,基于所述第1个笔迹点的坐标和所述第t个笔迹点的坐标,确定对应于所述笔迹点组的起笔笔画类型,包括:
响应于dx=0且dy≠0,确定对应于所述笔迹点组的起笔笔画类型为横,
响应于dx≠0且dy=0,确定对应于所述笔迹点组的起笔笔画类型为竖,响应于dx≠0且dy≠0:
若dx>0且0≤|dy/dx|≤0.27,确定对应于所述笔迹点组的起笔笔画类型为横,
若dy>0且0≤|dx/dy|≤0.27,确定对应于所述笔迹点组的起笔笔画类型为竖,
若dx<0、dy>0且0.27<|dy/dx|≤3.73,确定对应于所述笔迹点组的起笔笔画类型为撇,
若dx>0、dy>0且0.27<|dy/dx|≤3.73,确定对应于所述笔迹点组的起笔笔画类型为捺,
当dx>0、dy<0且0.27<|dy/dx|≤3.73,确定对应于所述笔迹点组的起笔笔画类型为提,
若dx<0且dy<0,确定对应于所述笔迹点组的起笔笔画类型为其他类型。
例如,在本公开一些实施例提供的笔迹处理方法中,基于所述起笔笔画类型和所述第1个笔迹点对应的模型图案,确定对应于所述第1个笔迹点的辅助模型图案的尺寸和中心坐标,包括:
若所述起笔笔画类型为横,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/2,O1O2=w/2,α=57°~63°;
若所述起笔笔画类型为竖,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/1.5,O1O2=w/1.5,α=67°~73°;
若所述起笔笔画类型为撇或者提,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/2,O1O2=w/2,α=42°~48°;
若所述起笔笔画类型为捺或者其他类型,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/1.5,O1O2=w/1.5,α=7°~13°,
其中,R表示对应于所述第1个笔迹点的模型图案的尺寸,O1表示对应于所述第1个笔迹点的模型图案的中心,r表示对应于所述第1个笔迹点的辅助模型图案的尺寸,O2表示对应于所述第1个笔迹点的辅助模型图案的中心,O1O2表示对应于所述第1个笔迹点的所述模型图案和所述辅助模型图案之间的中心连线的距离,w表示所述基本线宽,α表示所述中心连线与水平线的夹角。
例如,在本公开一些实施例提供的笔迹处理方法中,基于所述多个笔迹点的坐标和动作类型确定所述多个笔迹点对应的模型图案,还包括:响应于所述第1个笔迹点的动作类型为起笔类型,根据所述基本线宽和所述多个笔迹点中的第2个笔迹点的坐标确定对应于所述第2个笔迹点的模型图案的尺寸和中心坐标,其中,所述第1个笔迹点和所述第2个笔迹点相邻。
例如,在本公开一些实施例提供的笔迹处理方法中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,包括:响应于所述多个笔迹点中的第1个笔迹点的动作类型为运笔类型,根据所述笔迹点组的前一个笔迹点组确定对应于所述多个笔迹点中的第1个笔迹点的模型图案的尺寸和对应于所述多个笔迹点中的第2个笔迹点的模型图案的尺寸,根据所述第1个笔迹点的坐标确定对应于所述第1个笔迹点的模型图案的中心坐标,以及根据所述第2个笔迹点的坐标确定对应于所述第2个笔迹点的模型图案的中心坐标。
例如,在本公开一些实施例提供的笔迹处理方法中,根据所述笔迹点组的前一个笔迹点组确定对应于所述多个笔迹点中的第1个笔迹点的模型图案的尺寸和对应于所述多个笔迹点中的第2个笔迹点的模型图案的尺寸,包括:响应于所述前一个笔迹点组的第N个笔迹点的坐标与所述笔迹点组的第1个笔迹点的坐标相同,将对应于所述前一个笔迹点组的第N个笔迹点的模型图案的尺寸作为对应于所述笔迹点组的第1个笔迹点的模型图案的尺寸,以及确定所述笔迹点组的第2个笔迹点与第1个笔迹点的第三距离和所述前一个笔迹点组的第N个笔迹点与第N-1个笔迹点的第四距离,并根据基本线宽、对应于所述笔迹点组的第1个笔迹点的模型图案的尺寸、所述第三距离和所述第四距离,确定对应于所述笔迹点组的第2个笔迹点的模型图案的尺寸,其中,所述前一个笔迹点组的第N-1个笔迹点与第N个笔迹点为所述前一个笔迹点组的最后两个笔迹点。
例如,在本公开一些实施例提供的笔迹处理方法中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,还包括:从所述多个笔迹点中的第i个笔迹点开始,确定所述第i个笔迹点与第i-1个笔迹点的第一距离以及所述第i-1个笔迹点与第i-2个笔迹点的第二距离,并根据所述基本线宽、对应于所述第i-1个笔迹点的模型图案的尺寸、所述第一距离和所述第二距离,确定对应于所述第i个笔迹点的模型图案的尺寸;以及根据所述第i个笔迹点的坐标确定对应于所述第i个笔迹点的模型图案的中心坐标,其中,i为正整数,且i≥3。
例如,在本公开一些实施例提供的笔迹处理方法中,所述多个笔迹点中的第M个笔迹点为所述笔迹点组的最后一个笔迹点,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,包括:响应于所述第M个笔迹点的动作类型为收笔类型,确定对应于所述笔迹点组的起笔笔画类型,以及根据所述起笔笔画类型设置对应于所述多个笔迹点中的第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸,其中,j为正整数,且j≥1。
例如,在本公开一些实施例提供的笔迹处理方法中,所述起笔笔画类型包括横、竖、撇、捺、提和其他类型,根据所述起笔笔画类型设置对应于所述多个笔迹点中的第M-j笔迹点至第M个笔迹点的各个模型图案的尺寸,包括:若所述起笔笔画类型为横或者捺,按照第一预设比例依次增大对应于所述第M-j个笔迹点至所述第M个笔迹点的各个模型图案的尺寸;若所述起笔笔画类型为竖或者撇或者提,按照第二预设比例依次减小对应于所述第M-j个笔迹点至所述第M个笔迹点的各个模型图案的尺寸;以及若所述起笔笔画类型为其他类型,则不根据所述起笔笔画类型设置对应于所述多个笔迹点中的第M-j笔迹点至第M个笔迹点的各个模型图案的尺寸。
例如,在本公开一些实施例提供的笔迹处理方法中,对应于所述笔迹点组的每个笔迹点的模型图案包括圆或椭圆,依次连接所述多个模型图案,以确定对应于所述笔迹点组的用于显示的笔迹轨迹,包括:依次连接所述多个笔迹点中每相邻的两个笔迹点对应的模型图案的四个外公切点以形成所述每相邻的两个笔迹点之间的四边形,其中,所述每相邻的两个笔迹点之间的四边形用于连接所述每相邻的两个笔迹点对应的模型图案。
例如,在本公开一些实施例提供的笔迹处理方法中,获取对应于在所述触控装置的工作表面上的笔划的所述笔迹点组,包括:对在所述触控装置的工作表面上的笔划进行采样,以得到多个采样点;以及基于所述多个采样点,采用贝塞尔曲线拟合算法进行插值,以得到多个插值点,其中,所述笔迹点组的所述多个笔迹点包括所述多个采样点和所述多个插值点,所述多个采样点中的每个采样点的动作类型为起笔类型、运笔类型和收笔类型组成的集合中的一种。
例如,在本公开一些实施例提供的笔迹处理方法中,所述笔划对应多个笔迹点组,所述多个笔迹点组中的第一个笔迹点组的第1个笔迹点的动作类型为起笔类型,所述多个笔迹点组中的最后一个笔迹点组的最后一个笔迹点的动作类型为收笔类型。
例如,在本公开一些实施例提供的笔迹处理方法中,所述用于显示的笔迹轨迹的笔锋类型为毛笔笔锋。
本公开至少一个实施例还提供一种笔迹处理装置,包括:存储器,用于非暂时性存储计算机可读指令;以及处理器,用于运行所述计算机可读指令,其中,所述计算机可读指令被所述处理器运行时执行本公开任一实施例提供的笔迹处理方法。
例如,本公开一些实施例提供的笔迹处理装置,还包括:触控装置,其中,所述触控装置被配置为获取对应于在所述触控装置的工作表面上的笔划的笔迹点组。
例如,本公开一些实施例提供的笔迹处理装置,还包括:显示装置,其中,所述显示装置被配置为显示对应于所述笔迹点组的用于显示的笔迹轨迹。
本公开至少一个实施例还提供一种非瞬时性存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,能够执行本公开任一实施例提供的笔迹处理方法的指令。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为本公开至少一实施例提供的一种笔迹处理方法的示意性流程图;
图2为本公开至少一实施例提供的一种获取笔迹点组的方法的示意性流程图;
图3为本公开至少一实施例提供的一种笔迹点组的示意图;
图4为本公开至少一实施例提供的一种水滴单元的示意图;
图5为本公开至少一实施例提供的一种模拟毛笔笔锋的收笔效果的示意图;
图6为本公开至少一实施例提供的计算外公切点的示意图;
图7为本公开至少一实施例提供的一种模拟毛笔笔锋的效果图;
图8为本公开至少一实施例提供的一种笔迹处理装置的示意性框图;
图9为本公开至少一个实施例提供的一种存储介质的示意图;以及
图10为本公开至少一实施例提供的一种硬件环境的示意图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。为了保持本公开实施例的以下说明清楚且简明,本公开省略了部分已知功能和已知部件的详细说明。
在教育、办公、医疗等领域内,电子交互白板作为一种便捷的工具,对信息的交互与共享产生了极其重要的作用。但是,电子交互白板的处理速度、笔迹处理效果等制约着产品的用户体验。目前,实现无压感手写输入毛笔笔锋效果的方法通常比较复杂,需要花费时间进行大量的计算才能输出具有笔锋效果的笔画,对硬件的计算资源要求较高,实时性欠缺,用户很难获得畅快的手写输入体验。
并且,近年来,随着平板电脑、智能手机等智能设备的技术进步,用户对手写功能的要求越来越高。然而,由于在智能设备的屏幕上的书写感受与在实际纸张上的书写感受不同,以及用户本身对书法的不熟悉,在智能设备上的手写效果不佳。笔迹自动处理技术能够消除手写笔迹的锯齿状或台阶状外观,同时具有笔锋效果,为用户提供更加光滑、圆润、流畅、自然的书写体验。
本公开至少一个实施例提供一种笔迹处理方法,该笔迹处理方法包括:获取对应于在触控装置的工作表面上的笔划的笔迹点组,其中,笔迹点组包括依次排列的多个笔迹点,多个笔迹点中的每个笔迹点的数据包括坐标和动作类型;基于多个笔迹点的坐标和动作类型确定多个笔迹点对应的模型图案;以及依次连接多个笔迹点对应的模型图案,以确定笔迹点组对应的用于显示的笔迹轨迹。
本公开的一些实施例还提供对应于上述笔记处理方法的笔记处理装置以及非瞬时性存储介质。
本公开的实施例提供的笔迹处理方法,可以基于用户在触控装置的工作表面上书写的笔划获取笔迹点组,并根据笔迹点组中的各个笔迹点的坐标和动作类型对笔迹点组对应的笔迹轨迹进行针对性的处理并用于显示。该笔迹处理方法可以在无压感的情况下实现实时的笔迹处理的效果,同时使得用于显示的笔迹轨迹具有笔锋效果。该笔迹处理方法还具有计算速度快、实现原理简单、实时性好等优点,可以广泛应用于电子交互白板(例如,会议白板、教学白板等)、电子板报、机场数字签名墙、云本、手写板等需要手写输入的场景。
下面结合附图对本公开的一些实施例及其示例进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
图1为本公开至少一实施例提供的一种笔迹处理方法的示意性流程图。例如,该笔迹处理方法应用于计算设备,该计算设备包括具有计算功能的任何电子设备,例如可以为手机、笔记本电脑、平板电脑、台式计算机、服务器等,本公开的实施例对此不作限制。例如,该计算设备具有中央处理单元(Central Processing Unit,CPU)或图形处理单元(Graphics Processing Unit,GPU),以及还包括存储器。该存储器例如为非易失性存储器(例如只读存储器(Read Only Memory,ROM)),其上存储有操作系统的代码。例如,存储器上还存储有代码或指令,通过运行这些代码或指令,可以实现本公开实施例提供的笔迹处理方法。
例如,该计算设备还可以包括触摸装置,例如触摸屏或触摸板,以获取用户书写时在触摸装置的工作表面上形成的初始笔迹。该触摸屏不但可以接收初始笔迹并且还可以同时进行相应的显示。用户可以用手指直接在触摸屏的工作表面上进行书写,也可以利用主动式触控笔或被动式触控笔在触摸屏的工作表面上进行书写,本公开的实施例对此不作限制。这里,工作表面是指用于检测用户的触摸操作的表面,例如触摸屏的触摸表面。需要说明的是,本公开的实施例中,触摸装置的类型不受限制,不仅可以为触摸屏,还可以为交互白板等任意的具有触控功能的装置,这可以根据实际需求而定。
例如,如图1所示,该笔迹处理方法包括以下步骤S100至步骤S300。
步骤S100:获取对应于在触控装置的工作表面上的笔划的笔迹点组,其中,该笔迹点组包括依次排列的多个笔迹点,该多个笔迹点中的每个笔迹点的数据包括坐标和动作类型。
例如,在一些实施例中,当用户在触控装置的工作表面上进行笔划书写时,落笔动作对应于笔划书写过程的开始,抬笔动作对应于笔划书写过程的结束,落笔动作与抬笔动作之间为运笔动作,运笔动作对应于笔划书写过程的持续;用户完成一个完整的笔划书写过程时,其在触控装置的工作表面上的书写轨迹对应于一个笔划。
例如,上述笔划可以具有任意形状。例如,上述笔划可以为中文字的笔划,也可以为外文字(例如,英文、日文等)的笔划。
图2为本公开至少一实施例提供的一种获取笔迹点组的方法的示意性流程图。图3为本公开至少一实施例提供的一种笔迹点组的示意图。以下结合图3对图2所示的获取笔迹点组的方法进行详细说明。
例如,如图2所示,获取对应于在触控装置的工作表面上的笔划的笔迹点组,即步骤S100,可以包括以下步骤S101至步骤S102:
步骤S101:对在触控装置的工作表面上的笔划进行采样,以得到多个采样点;
步骤S102:基于多个采样点,采用贝塞尔曲线拟合算法进行插值,以得到多个插值点。
例如,在一些实施例中,触控装置本身可以基于硬件(例如触控电路、采样电路等)和软件(例如,相关的程序算法)等执行上述步骤S11至步骤S12,本公开包括但不限于此。
例如,在一些实施例中,触控装置可以按照预定时序对用户在其工作表面上书写的笔划进行采样,以得到依次排列(依据采样的先后顺序排列)的多个采样点的坐标。例如,可以通过稀疏采点的方式对笔划进行采样以到多个采样点,该多个采样点的数量可以根据实际情况确定。例如,如图3所示,通过对在触控装置的工作表面上的笔划110进行实时采样(例如,等时间间隔采样),可以得到依次排列的9个采样点C1~C9(如图3中的空心黑圈所示)的坐标。
例如,在一些实施例中,触控装置还可以根据事件驱动的规则,确定各个采样点的动作类型。例如,如图3所示,可以根据落笔动作(即落笔事件),将与落笔动作对应的采样点C1的动作类型确定为起笔类型;可以根据抬笔动作(即抬笔事件),将与抬笔动作对应的采样点C9的动作类型确定为收笔类型;位于采样点C1和采样点C9之间的采样点C2~C8与运笔动作对应,可以将采样点C2~C8的动作类型均确定为运笔类型。例如,对于在Android操作系统中实现上述实施例的笔迹处理方法时,对于触控装置的输入事件(MotionEvent),ACTION_DOWN表示落笔事件;ACTION_MOVE表示运笔事件;ACTION_UP表示抬笔事件。
例如,在一些实施例中,如图3所示,9个采样点C1~C9可以将笔划110划分为四个轨迹段,四个轨迹段分别为对应于采样点C1~C3的第一轨迹段、对应于采样点C3~C5的第二轨迹段、对应于采样点C5~C7的第三轨迹段和对应于采样点C7~C9的第四轨迹段。第一轨迹段、第二轨迹段、第三轨迹段和第四轨迹段在笔划110的延伸方向(即从采样点C1到采样点C9的方向)上依次排列,第一轨迹段和第二轨迹段相邻且均与同一个采样点C3对应,第二轨迹段和第三轨迹段相邻且均与同一个采样点C5对应,第三轨迹段和第四轨迹段相邻且均与同一个采样点C7对应。
例如,可以基于每个轨迹段对应的3个采样点,采用贝塞尔曲线拟合算法进行插值以得到6个插值点,进而得到对应于该轨迹段的笔迹点组,该笔迹点组包括9个轨迹点(即3个采样点和6个插值点)。例如,在该笔迹点组中,该9个轨迹点按笔划的延伸方向依次排列。以第一轨迹段对应的3个采样点C1~C3为例,采用贝塞尔曲线拟合算法进行插值以得到6个插值点,是指基于3个采样点C1~C3拟合二阶贝塞尔曲线(如图3中黑色实线所示),并在采样点C1和采样点C2之间的曲线段取3个插值点、在采样点C2和采样点C3之间的曲线段取3个插值点,以得到6个插值点(如图3中的实心黑点C30所示)的坐标,由此可以得到对应于采样点C1~C3的笔迹点组(即对应于第一轨迹段的笔迹点组)。以此类推,可以分别得到对应于第二轨迹段的笔迹点组、对应于第三轨迹段的笔迹点组以及对应于第四轨迹段的笔迹点组。例如,在每个笔迹点组中,还可以将本质上是插值点的轨迹点的动作类型确定为运笔类型。
例如,在图3所示的实施例中,笔划110对应多个(四个)笔迹点组,其中,第一个笔迹点组的第1个笔迹点的动作类型为起笔类型,最后一个笔迹点组的最后一个笔迹点的动作类型为收笔类型,其余笔迹点的动作类型为运笔类型。例如,在一些示例中,每个笔迹点的数据可以包括一个类型标识,用于标记该笔迹点的动作类型;例如,当该类型标识为1时,该笔迹点的动作类型为起笔类型;当该类型标识为2时,该笔迹点的动作类型为运笔类型;当该类型标识为3时,该笔迹点的动作类型为收笔类型。例如,在另一些示例中,为了节省存储空间以及减少数据传输量,在笔划110对应多个笔迹点组的情况下,可以使每个笔迹点组对应一个类型标识;例如,当笔迹点组对应的类型标识为1时,该笔迹点组的第1个笔迹点的动作类型为起笔类型,该笔迹点组的其余笔迹点的动作类型默认为运笔类型;当笔迹点组对应的类型标识为2时,该笔迹点组的各个笔迹点的动作类型均默认为运笔类型;当笔迹点组对应的类型标识为3时,该笔迹点组的最后一个笔迹点的动作类型为收笔类型,该笔迹点组的其余笔迹点的动作类型默认为运笔类型。又例如,当笔迹点组对应的类型标识为1时,该笔迹点组的各个笔迹点的动作类型为起笔类型;当笔迹点组对应的类型标识为2时,该笔迹点组的各个笔迹点的动作类型均为运笔类型;当笔迹点组对应的类型标识为3时,该笔迹点组的各个笔迹点的动作类型为收笔类型。
需要说明的是,图3所示的实施例是示例性的,虽然图3所示的实施例仅示出了一个笔划对应多个笔迹点组的情形,但不应视为对本公开的限制。例如,在一些实施例中,一个笔划可以仅对应1个笔迹点组;在此情况下,该笔迹点组的第1个笔迹点的动作类型为起笔类型,该笔迹点组的最后一个笔迹点的动作类型为收笔类型,该笔迹点组的其余笔迹点的动作类型默认为运笔类型。
还需要说明的是,笔迹点组中包括采用贝塞尔曲线拟合算法进行插值得到的插值点,可以使后续用于显示的笔迹轨迹更加平滑和美观。但是,在本公开的实施例中,贝塞尔曲线拟合算法不限于拟合二阶贝塞尔曲线的情形。例如,在一些实施例中,笔划的每个轨迹段可以对应于4个采样点,在此情况下,可以通过拟合三阶贝塞尔曲线以得到插值点。
当然,在一些实施例中,笔迹点组可以仅包括多个采样点,而不包括插值点。本公开对此不作限制。
需要说明的是,本公开对笔迹点组的获取方式不作限制,只要能得到笔迹点组的数据即可。例如,在一些实施例中,本公开的实施例提供的笔迹处理方法可以由笔迹处理装置执行,而笔迹点组的数据可以由笔迹处理装置从外部接收得到。
步骤S200:基于该多个笔迹点的坐标和动作类型确定对应于该多个笔迹点的多个模型图案,其中,该多个模型图案与该多个笔迹点一一对应。
例如,在步骤S200中,模型图案的形状可以是预先设定的,例如可以包括圆形和椭圆形(例如,椭圆形的短轴和长轴的比例是预先设定的),但不限于此。虽然本公开的实施例主要以模型图案为圆形为例进行说明,但不应视作对本公开的限制。
例如,在一些实施例中,基于该多个笔迹点的坐标和动作类型确定对应于该多个笔迹点的多个模型图案,可以包括操作P201:响应于该多个笔迹点中的第1个笔迹点的动作类型为起笔类型,根据书写应用中书写过程中对应的基本线宽和第1个笔迹点的坐标确定对应于第1个笔迹点的模型图案的尺寸和中心坐标。例如,以图3所示的笔划110为例,基于操作P201可以确定对应于笔划110的第一轨迹段的第1个笔迹点C1的模型图案。
例如,在一些示例中,基本线宽为书写轨迹的线宽。该基本线宽在书写程序中被设置为某一默认值;例如,在另一些示例中,基本线宽在书写程序中具有多个可选值,用户可以根据需要选择该多个可选值之一作为基本线宽;例如,在再一些示例中,书写程序仅设置了基本线宽的取值范围,用户可以在该取值范围内对基本线宽进行设置。本公开的实施例对此不作限制。
例如,在一些示例中,模型图案为圆形,可以用圆形的半径表示模型图案的尺寸;例如,可以将对应于第1个笔迹点的圆形模型图案的半径设置为基本线宽的1/2。例如,在另一些示例中,模型图案为椭圆形,可以用椭圆形的半短轴(即短轴的一半)表示模型图案的尺寸;例如,可以将对应于第1个笔迹点的椭圆形模型图案的半短轴设置为基本线宽的1/2。
例如,可以将触控装置的触控区域(即可供用户书写的区域)的左上角作为原点O、向右延伸的方向作为x轴(x的值越来越大),向下延伸的方向作为y轴(y的值越来越大),以构建坐标系Oxy1,笔迹点组中的每个轨迹点的坐标为每个轨迹点在坐标系Oxy1中的坐标。例如,类似地,可以将显示装置(例如,配置为显示后续用于显示的笔迹轨迹)的显示区域(的左上角作为原点O、向右延伸的方向作为x轴(x的值越来越大),向下延伸的方向作为y轴(y的值越来越大),以构建坐标系Oxy2,只要将每个笔迹点的坐标(相对于坐标系Oxy1的坐标)映射到坐标系Oxy2中,就可以得到在坐标系Oxy2中对应于每个笔迹点的模型图案的中心坐标。例如,在一些示例中,触控装置的触控区域与显示装置的显示区域具有相同的形状和尺寸,在此情况下,可以将每个笔迹点的坐标直接作为对应于每个笔迹点的模型图案的中心坐标。由此,可以根据任一笔迹点(包括但不限于第1个笔迹点)的坐标确定对应于该任一笔迹点的模型图案的中心坐标,后续不再赘述。
例如,在一些实施例中,基于该多个笔迹点的坐标和动作类型确定对应于该多个笔迹点的多个模型图案,还可以包括操作P202:响应于该多个笔迹点中的第1个笔迹点的动作类型为起笔类型,确定对应于笔迹点组的起笔笔画类型;基于该起笔笔画类型和第1个笔迹点对应的模型图案,确定对应于第1个笔迹点的辅助模型图案的尺寸和中心坐标;以及基于对应于第1个笔迹点的模型图案和辅助模型图案,确定对应于第1个笔迹点的辅助四边形,其中,对应于第1个笔迹点的辅助四边形用于连接第1个笔迹点对应的模型图案和辅助模型图案。例如,以图3所示的笔划110为例基于操作P201和操作P202,可以将对应于笔划110的第一轨迹段的第1个笔迹点C1图案设置为水滴单元,从而,可以模拟毛笔笔锋的起笔效果。
例如,在一些示例中,确定对应于笔迹点组的起笔笔画类型,可以包括:在笔迹点组的多个笔迹点中确定第t个笔迹点,其中,t为正整数,t≠1,且第t个笔迹点的坐标不同于第1个笔迹点的坐标;以及基于第1个笔迹点的坐标和第t个笔迹点的坐标,确定对应于笔迹点组的起笔笔画类型。
例如,在一些示例中,可以将t预先设置为2,若第2个笔迹点的坐标不同于第1个笔迹点的坐标,则基于第1个笔迹点的坐标和第2个笔迹点的坐标,确定对应于笔迹点组的起笔笔画类型;若第2个笔迹点的坐标与第1个笔迹点的坐标相同,则将t依次设置为3,4,…,M(M为笔迹点组中的笔迹点的数目),直到第t个笔迹点的坐标不同于第1个笔迹点的坐标为止,再基于第1个笔迹点的坐标和第t个笔迹点的坐标,确定对应于笔迹点组的起笔笔画类型。例如,在另一些示例中,可以将t依次设置为M,M-1,…,2,直到第t个笔迹点的坐标不同于第1个笔迹点的坐标为止,再基于第1个笔迹点的坐标和第t个笔迹点的坐标,确定对应于笔迹点组的起笔笔画类型。需要说明的是,本公开的实施例对确定第t个笔迹点的方式不作限制,只要第t个笔迹点的坐标不同于第1个笔迹点的坐标即可。
例如,在一些示例中,第1个笔迹点的坐标为(x1,y1),第t个笔迹点的坐标为(x2,y2),dx=x2–x1,dy=y2–y1,则基于第1个笔迹点的坐标和第t个笔迹点的坐标,确定对应于笔迹点组的起笔笔画类型,包括:
响应于dx=0且dy≠0,确定对应于笔迹点组的起笔笔画类型为横;
响应于dx≠0且dy=0,确定对应于笔迹点组的起笔笔画类型为竖;
响应于dx≠0且dy≠0:
若dx>0且0≤|dy/dx|≤0.27,确定对应于笔迹点组的起笔笔画类型为横,
若dy>0且0≤|dx/dy|≤0.27,确定对应于笔迹点组的起笔笔画类型为竖,
若dx<0、dy>0且0.27<|dy/dx|≤3.73,确定对应于笔迹点组的起笔笔画类型为撇,
若dx>0、dy>0且0.27<|dy/dx|≤3.73,确定对应于笔迹点组的起笔笔画类型为捺,
当dx>0、dy<0且0.27<|dy/dx|≤3.73,确定对应于笔迹点组的起笔笔画类型为提,
若dx<0且dy<0,确定对应于笔迹点组的起笔笔画类型为其他类型。
例如,在一些示例中,在确定对应于笔迹点组的起笔笔画类型后,基于该起笔笔画类型和第1个笔迹点对应的模型图案,确定对应于第1个笔迹点的辅助模型图案的尺寸和中心坐标,包括:
若起笔笔画类型为横,将辅助模型图案的尺寸和中心坐标设置为使得r=R/2,O1O2=w/2,α=57°~63°(例如,α=60°,但不限于此);
若起笔笔画类型为竖,将辅助模型图案的尺寸和中心坐标设置为使得r=R/1.5,O1O2=w/1.5,α=67°~73°(例如,α=70°,但不限于此);
若起笔笔画类型为撇或者提,将辅助模型图案的尺寸和中心坐标设置为使得r=R/2,O1O2=w/2,α=42°~48°(例如,α=45°,但不限于此);
若起笔笔画类型为捺或者其他类型,将辅助模型图案的尺寸和中心坐标设置为使得r=R/1.5,O1O2=w/1.5,α=7°~13°(例如,α=10°,但不限于此),
其中,R表示对应于第1个笔迹点的模型图案的尺寸,O1表示对应于第1个笔迹点的模型图案的中心,r表示对应于第1个笔迹点的辅助模型图案的尺寸,O2表示对应于第1个笔迹点的辅助模型图案的中心,O1O2表示对应于第1个笔迹点的模型图案和辅助模型图案之间的中心连线的距离,w表示基本线宽,α表示中心连线与水平线的夹角(即将中心连线沿逆时针方向旋转到水平线方向所需要旋转的圆心角度)。
图4为本公开至少一实施例提供的一种水滴单元的示意图。例如,在一些示例中,如图4所示,对应于第1个笔迹点的模型图案和辅助模型图案均为圆形,R表示对应于第1个笔迹点的圆形模型图案的半径,O1表示对应于第1个笔迹点的圆形模型图案的圆心,r表示对应于第1个笔迹点的圆形辅助模型图案的半径,O2表示对应于第1个笔迹点的圆形辅助模型图案的圆心,O1O2表示对应于第1个笔迹点的模型图案和辅助模型图案之间的圆心连线的距离,α表示圆心连线与水平线的夹角(即将圆心连线沿逆时针方向旋转到水平线方向所需要旋转的圆心角度)。
例如,在一些示例中,如图4所示,在对应于第1个笔迹点的模型图案和辅助模型图案均为圆形的情况下,基于对应于第1个笔迹点的模型图案和辅助模型图案,确定对应于第1个笔迹点的辅助四边形,可以包括:确定对应于第1个笔迹点的圆形模型图案和圆形辅助模型图案的四个外公切点,依次连接该四个外公切点以形成对应于第1个笔迹点的辅助四边形。例如,如图4所示,该辅助四边形用于连接第1个笔迹点对应的模型图案和辅助模型图案,以形成一个连通的图案。例如,在对应于第1个笔迹点的模型图案和辅助模型图案均为圆形的情况下,采用四个外公切点形成的辅助四边形连接模型图案和辅助模型图案,有利于消除锯齿和毛刺。
例如,在另一些示例中,在对应于第1个笔迹点的模型图案和辅助模型图案均为圆形的情况下,基于对应于第1个笔迹点的模型图案和辅助模型图案,确定对应于第1个笔迹点的辅助四边形,可以包括:确定圆形模型图案中的与圆形模型图案和圆形辅助模型图案的圆心连线垂直的第一直径,确定圆形辅助模型图案中的与圆形模型图案和圆形辅助模型图案的圆心连线垂直的第二直径,将第一直径的两个端点及第二直径的两个端点作为辅助四边形的四个顶点,以确定辅助四边形。该方案有利于减少计算量,提高笔迹处理方法的处理速度。
需要说明的是,图4所示的水滴单元是示例性的,不应视作对本公开的限制。例如,在一些示例中,对应于第1个笔迹点的模型图案和辅助模型图案可以均为椭圆形,在此情况下,基于对应于第1个笔迹点的模型图案和辅助模型图案,确定对应于第1个笔迹点的辅助四边形,可以包括:确定对应于第1个笔迹点的椭圆形模型图案和椭圆形辅助模型图案的四个外公切点,依次连接该四个外公切点以形成对应于第1个笔迹点的辅助四边形。
例如,在一些实施例中,基于该多个笔迹点的坐标和动作类型确定对应于该多个笔迹点的多个模型图案,还可以包括操作P203:响应于第1个笔迹点的动作类型为起笔类型,根据基本线宽和多个笔迹点中的第2个笔迹点的坐标确定对应于第2个笔迹点的模型图案的尺寸和中心坐标。例如,第1个笔迹点和第2个笔迹点在笔划延伸方向上相邻。例如,以图3所示的笔划110为例,基于操作P203可以确定对应于笔划110的第一轨迹段的第2个笔迹点的模型图案。
例如,在一些示例中,在模型图案为圆形的情况下,可以将对应于第2个笔迹点的圆形模型图案的半径设置为基本线宽的1/2。例如,在另一些示例中,在模型图案为椭圆形的情况下,可以将对应于第2个笔迹点的椭圆形模型图案的半短轴设置为基本线宽的1/2。即响应于第1个笔迹点的动作类型为起笔类型,对应于第2个笔迹点的模型图案的尺寸可以与对应于第1个笔迹点的模型图案的尺寸相同。本公开的实施例包括但不限于此。
例如,在一些实施例中,基于该多个笔迹点的坐标和动作类型确定对应于该多个笔迹点的多个模型图案,还可以包括操作P204:从多个笔迹点中的第i个笔迹点开始,确定第i个笔迹点与第i-1个笔迹点的第一距离d1以及第i-1个笔迹点与第i-2个笔迹点的第二距离d2,并根据基本线宽w、对应于第i-1个笔迹点的模型图案的尺寸Ri-1、第一距离d1和第二距离d2,确定对应于第i个笔迹点的模型图案的尺寸Ri;以及根据第i个笔迹点的坐标确定对应于第i个笔迹点的模型图案的中心坐标,其中,i为正整数且i≥3。例如,以图3所示的笔划110为例,基于操作P204可以确定对应于笔划110的第一轨迹段的除第1个笔迹点和第2个笔迹点以外的其余轨迹点的模型图案。例如,操作P204可以根据相邻笔迹点之间的距离的变化调整对应于笔迹点的模型图案的尺寸,从而可以模拟毛笔笔锋的运笔效果。
例如,在一些示例中,可以根据第i个笔迹点的坐标和第i-1个笔迹点的坐标计算第一距离d1,根据第i-1个笔迹点的坐标与第i-2个笔迹点的坐标计算第二距离d2。
例如,在一些示例中,以模型图案为圆形或椭圆形为例,根据基本线宽w、对应于第i-1个笔迹点的模型图案的尺寸Ri-1、第一距离d1和第二距离d2,确定对应于第i个笔迹点的模型图案的尺寸Ri,可以包括:
响应于d2-d1>w/2,若Ri-1≤0.25w,则Ri=Ri-1,否则,Ri=t1*Ri-1;
响应于d2-d1<-p,若Ri-1≥0.75w,则Ri=Ri-1,否则,Ri=t2*Ri-1;
响应于-p≤d2-d1≤w/2,Ri=Ri-1,
其中,t1、t2、p的数值均预先设置,且t1<1,t2>1,p为正数。
例如,t1、t2、p均可以根据实际需要进行设置。例如,t1的取值范围可以设置为[0.7,0.9],本公开的实施例包括但不限于此。例如,t1可以为0.8。例如,t2的取值范围可以设置为[1.1,1.3],本公开的实施例包括但不限于此。例如,t2可以为1.2。例如p的取值范围可以设置为[w/3,w/2]。例如,p可以为w/2。
例如,在一些实施例中,基于该多个笔迹点的坐标和动作类型确定对应于该多个笔迹点的多个模型图案,还可以包括操作P211:响应于该多个笔迹点中的第1个笔迹点的动作类型为运笔类型,根据该笔迹点组的前一个笔迹点组确定对应于该多个笔迹点中的第1个笔迹点的模型图案的尺寸和对应于该多个笔迹点中的第2个笔迹点的模型图案的尺寸;根据第1个笔迹点的坐标确定对应于第1个笔迹点的模型图案的中心坐标;以及根据第2个笔迹点的坐标确定对应于第2个笔迹点的模型图案的中心坐标。例如,以图3所示的笔划110为例,基于操作P211可以确定对应于笔划110的第二轨迹段、第三轨迹段和第四轨迹段组成的群组中的任一轨迹段的第1个笔迹点和第二个笔迹点的模型图案。
例如,在一些示例中,根据该笔迹点组的前一个笔迹点组确定对应于该多个笔迹点中的第1个笔迹点的模型图案的尺寸和对应于该多个笔迹点中的第2个笔迹点的模型图案的尺寸,包括操作2210:响应于前一个笔迹点组的第N个笔迹点的坐标与该笔迹点组的第1个笔迹点的坐标相同,将对应于前一个笔迹点组的第N个笔迹点的模型图案的尺寸作为对应于该笔迹点组的第1个笔迹点的模型图案的尺寸,以及确定该笔迹点组的第2个笔迹点与第1个笔迹点的第三距离和前一个笔迹点组的第N个笔迹点与第N-1个笔迹点的第四距离,并根据基本线宽、对应于该笔迹点组的第1个笔迹点的模型图案的尺寸、第三距离和第四距离,确定对应于该笔迹点组的第2个笔迹点的模型图案的尺寸,其中,前一个笔迹点组的第N-1个笔迹点与第N个笔迹点为前一个笔迹点组的最后两个笔迹点。
例如,笔迹点组和前一个笔迹点组为相邻的两个笔迹点组,以图3所示的笔划110的第二轨迹段对应的笔迹点组为当前的笔迹点组、第一轨迹段对应的笔迹点组为前一个笔迹点组,第二轨迹段对应的笔迹点组的第1个笔迹点和第一轨迹段对应的笔迹点组的最后一个笔迹点重合(即坐标相同),从而可以直接将对应于第一轨迹段的最后一个笔迹点的模型图案的尺寸作为对应于第二轨迹段的第1个笔迹点的模型图案的尺寸,并省略相应的计算过程。应当理解的是,笔划110被划分为多个轨迹段,是为了改善笔迹处理方法的实时性,第二轨迹段本质上是第一轨迹段的运笔动作的延续,因此,确定对应于第二轨迹段的除第1个笔迹点以外的各个笔迹点的模型图案的尺寸可以参考前述操作P204的相关描述。也就是说,操作2210中,确定对应于该笔迹点组的第2个笔迹点的模型图案的尺寸,可以参考前述操作P204的相关描述,在此不再重复赘述。
也就是说,基于操作P204可以确定对应于笔划110的每个轨迹段的除第1个笔迹点和第2个笔迹点以外的其余轨迹点的模型图案。
在研究中,本申请的发明人注意到:毛笔笔锋的收笔效果与笔划的起笔笔画类型有关;例如,起笔笔画类型包括横、竖、撇、捺、提和其他类型。例如,当笔划的起笔为横或者捺时,笔划的尾部通常逐渐变宽,呈现出“钝”的效果;当笔划的起笔为竖或者撇或者提时,笔划的尾部通常逐渐变窄,呈现出“尖”的效果。
例如,在一些实施例中,为了模拟毛笔笔锋的效果,基于该多个笔迹点的坐标和动作类型确定对应于该多个笔迹点的多个模型图案,还可以包括操作P221:响应于该多个笔迹点中的第M个笔迹点的动作类型为收笔类型,确定对应于该笔迹点组的起笔笔画类型;以及根据该起笔笔画类型设置对应于多个笔迹点中的第M-j笔迹点至第M个笔迹点的各个模型图案的尺寸,其中,j为正整数,且j≥1。应当理解的是,在笔迹点组的多个笔迹点中的第M个笔迹点的动作类型为收笔类型的情况下,对应于该笔迹点组的第1个笔迹点至第M-j-1个笔迹点的各个模型图案的尺寸仍然可以通过前述操作P201至操作P204、操作P211(包括操作P2210)等确定。
例如,在一些示例中,在笔划对应多个笔迹点组的情况下,当前的笔迹点组为该多个笔迹点组中的最后一个笔迹点组,因此,可以追溯确定该多个笔迹点组中的第一个笔迹点组;由于该第一个笔迹点组的起笔笔画类型已经确定(参考前述操作P202的相关描述),因此可以将该第一个笔迹点组的起笔笔画类型作为当前笔迹点组对应的起笔笔画类型。例如,在另一些示例中,,在笔划对应一个笔迹点组的情况下,当前的笔迹点组的起笔笔画类型已经在前述操作P202中得以确定,因此可以基于前述操作P202的结果直接得到。
图5为本公开至少一实施例提供的一种模拟毛笔笔锋的收笔效果的示意图。例如,在一些实施例中,如图5所示,根据该起笔笔画类型设置对应于多个笔迹点中的第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸,可以包括:若起笔笔画类型为横或者捺,按照第一预设比例依次增大对应于第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸;若起笔笔画类型为竖或者撇或者提,按照第二预设比例依次减小对应于第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸。
例如,在一些示例中,根据该起笔笔画类型设置对应于多个笔迹点中的第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸,还可以包括:若起笔笔画类型为其他类型,则不根据起笔笔画类型设置对应于多个笔迹点中的第M-j笔迹点至第M个笔迹点的各个模型图案的尺寸。即在起笔笔画类型为其他类型的情况下,可以参考前述操作P204确定对应于多个笔迹点中的第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸。当然,本公开的实施例包括但不限于此。例如,在另一些示例中,若起笔笔画类型为其他类型,可以按照第一预设比例依次增大对应于第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸,或者可以按照第二预设比例依次减小对应于第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸。
例如,第一预设比例可以根据实际需要进行设置,只要确保对应于第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸依次增大即可;例如,第二预设比例可以根据实际需要进行设置,只要确保对应于第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸依次减小即可。例如,在一些示例中,第一预设比例的设置可以避免对应于第M个笔迹点的模型图案的尺寸过大,第二预设比例的设置可以避免对应于第M个笔迹点的模型图案的尺寸过小。
应当理解的是,不同的起笔笔画类型对应的第一预设比例或第二预设比例可以不同,也可以相同,本公开的实施例对此不作限制。还应当理解的是,不同的起笔笔画类型对应的j可以相同,也可以不同,本公开的实施例对此亦不作限制。例如,在一些实施例中,j可以为2。
例如,如图5所示,基于操作P221可以模拟横、竖、撇、捺、提的毛笔笔锋的收笔效果。
步骤S300:依次连接该多个模型图案,以确定对应于该笔迹点组的用于显示的笔迹轨迹。
例如,以对应于所述笔迹点组的每个笔迹点的模型图案包括圆或椭圆为例,依次连接该多个模型图案,以确定对应于该笔迹点组的用于显示的笔迹轨迹,即步骤S300,可以包括操作P301:依次连接该多个笔迹点中每相邻的两个笔迹点对应的模型图案的四个外公切点以形成每相邻的两个笔迹点之间的四边形,其中,每相邻的两个笔迹点之间的四边形用于连接该每相邻的两个笔迹点对应的模型图案。
下面简单介绍计算任意两个圆之间的精确外公切点的方式。图6为本公开至少一实施例提供的计算外公切点的示意图。例如,如图6所示,在坐标系oxy中,假设所述任意两个圆分别为第一圆和第二圆,第一圆的圆心坐标为(a1,b1),第一圆的半径为r1,第二圆的圆心坐标为(a2,b2),第二圆的半径为r2,则基于以下分类讨论的情况确定四个外公切点的坐标。
(1)在r1=r2的情况下:
若a1=a2且b1≠b2,则四个外公切点的坐标分别为:
(a1-r1,b1),(a2-r2,b2),(a2+r2,b2),(a1+r1,b1);
若a1≠a2且b1=b2,则四个外公切点的坐标分别为:
(a1,b1-r1),(a2,b2-y2),(a2,b2+y2),(a1,b1+r1);
若a1≠a2且b1≠b2,则
1)当(b2-b1)/(a2-a1)>0时,四个外公切点的坐标分别为:
(a1+r1sinγ,b1-r1cosγ),(a2+r2sinγ,b2-r2cosγ),
(a2-r2sinγ,b2+r2cosγ),(a1-r1sinγ,b1+r1cosγ),
2)当(b2-b1)/(a2-a1)<0时,四个外公切点的坐标分别为:
(a1-r1sinγ,b1-r1cosγ),(a2-r2sinγ,b2-r2cosγ),
(a2+r2sinγ,b2+r2cosγ),(a1+r1sinγ,b1+r1cosγ),
(2)在r1<r2的情况下:
若a1=a2且b1≠b2,则四个外公切点的坐标分别为:
(a1-r1cosθ,b1-r1sinθ),(a2-r2cosθ,b2-r2sinθ),
(a2+r2cosθ,b2-r2sinθ),(a1+r1cosθ,b1-r1sinθ);
若a1≠a2且b1=b2,则四个外公切点的坐标分别为:
(a1-r1sinθ,b1-r1cosθ),(a2-r2sinθ,b2-r2cosθ),
(a2+r2sinθ,b2-r2cosθ),(a1+r1sinθ,b1-r1cosθ);
若a1≠a2且b1≠b2,则
1)当a1<a2且b1<b2时,四个外公切点的坐标分别为:
(a1+r1sinφ,b1-r1cosφ),(a2+r2sinφ,b2-r2cosφ),
2)当a1>a2且b1<b2时,四个外公切点的坐标分别为:
(a1-r1sinφ,b1-r1cosφ),(a2-r2sinφ,b2-r2cosφ),
3)当a1>a2且b1>b2时,四个外公切点的坐标分别为:
(a1+r1cosφ,b1-r1sinφ),(a2+r2cosφ,b2-r2sinφ),
4)当a1<a2且b1>b2时,四个外公切点的坐标分别为:
(a1-r1cosφ,b1-r1sinφ),(a2-r2cosφ,b2-r2sinφ),
(3)在r1>r2的情况下:
若a1=a2且b1≠b2,则四个外公切点的坐标分别为:
(a1-r1cosθ,b1+r1sinθ),(a2-r2cosθ,b2+r2sinθ),
(a2+r2cosθ,b2+r2sinθ),(a1+r1cosθ,b1+r1sinθ);
若a1≠a2且b1=b2,则四个外公切点的坐标分别为:
(a1+r1sinθ,b1-r1cosθ),(a2+r2sinθ,b2-r2cosθ),
(a2+r2sinθ,b2+r2cosθ),(a1+r1sinθ,b1+r1cosθ);
若a1≠a2且b1≠b2,则
1)当a1<a2且b1<b2时,四个外公切点的坐标分别为:
(a1+r1cosφ,b1-r1sinφ),(a2+r2cosφ,b2-r2sinφ),
2)当a1>a2且b1<b2时,四个外公切点的坐标分别为:
(a1-r1cosφ,b1-r1sinφ),(a2-r2cosφ,b2-r2sinφ),
3)当a1>a2且b1>b2时,四个外公切点的坐标分别为:
(a1+r1sinφ,b1-r1cosφ),(a2+r2sinφ,b2-r2cosφ),
4)当a1<a2且b1>b2时,四个外公切点的坐标分别为:
(a1-r1sinφ,b1-r1cosφ),(a2-r2sinφ,b2-r2cosφ),
当对应于所述笔迹点组的每个笔迹点的模型图案为圆形时,基于上述任意两个圆之间的精确外公切点计算公式,可以得到每相邻的两个笔迹点对应的模型图案的四个外公切点的坐标(即确定该四个外公切点),依次连接该四个外公切点可以得到每相邻的两个笔迹点之间的四边形。该四边形用于连通每相邻的两个笔迹点对应的模型图案,从而有利于消除锯齿和毛刺,使得最终得到的用于显示的笔迹轨迹更加平滑。
应当理解的是,前述辅助四边形的四个顶点的坐标也可以采用上述计算公式计算得到,在此不再赘述。
例如,在对应于所述笔迹点组的每个笔迹点的模型图案包括椭圆的情况下,可以基于解析几何的知识计算每相邻的两个笔迹点对应的椭圆形模型图案的四个外公切点以形成每相邻的两个笔迹点之间的四边形,在此不再赘述。
例如,在另一些实施例中,在对应于所述笔迹点组的每个笔迹点的模型图案包括圆的情况下,可以确定与每相邻的两个笔迹点对应的椭圆形模型图案中的圆心连线垂直的第三直径和第四直径,其中,第三直径为每相邻的两个笔迹点对应的椭圆形模型图案之一的直径,第四直径为每相邻的两个笔迹点对应的椭圆形模型图案之另一的直径;然后,将第三直径的两个端点及第四直径的两个端点作为四边形的端点,以确定每相邻的两个笔迹点之间的四边形四边形。该方案有利于减少计算量,提高笔迹处理方法的处理速度。
例如,步骤S300得到的用于显示的笔记轨迹可以通过显示装置实时显示。例如,在一些实施例中,以用户书写图3所示的笔划110为例,当用户书写完笔划110的第一轨迹段后,显示装置可以实时显示对应于第一轨迹段的用于显示的笔迹轨迹,此时,用户可能还未完成笔划110的书写过程(例如,用户可能正在书写笔划110的第二轨迹段等)。
例如,在一些实施例中,上述笔迹处理方法能够为机场显示屏提供一种趣味交互方式。机场作为一个城市的地标性建筑,是吸引游客的重要方式。本公开提供的笔迹处理方法可以集成到机场的显示屏上,当游客到达某个城市的机场时,可以在显示屏上书写签名,并以处理后的毛笔笔迹形式展示在显示屏上。游客与签名合影,形成一种独特的旅游“打卡”方式,从而吸引游客,有助于促进城市旅游业的发展。在另一些实施例中,上述笔迹处理方法能够为智慧教室提供一种新型板报方式,该笔迹处理方法可以对学生或老师的板书、板报字体做处理,给出更清晰的呈现。
应当理解的是,虽然本公开的实施例均以用于显示的笔迹轨迹的笔锋类型为毛笔笔锋为例进行说明,但不应视作对本公开的限制。例如,本公开的实施例提供的笔迹处理方法也可以设计更多的笔迹风格,例如,铅笔笔锋、钢笔笔锋等,在不丧失原有字体的基础上,形成更美观的字体。
图7为本公开至少一实施例提供的一种模拟毛笔笔锋的效果图。例如,如图7所示,用于显示的笔迹轨迹的笔锋类型为毛笔笔锋。图7所示的中文汉字“谢”字呈现出较好的毛笔笔锋模拟效果。
本公开的实施例提供的笔迹处理方法,可以基于用户在触控装置的工作表面上书写的笔划获取笔迹点组,并根据笔迹点组中的各个笔迹点的坐标和动作类型对笔迹点组对应的笔迹轨迹进行针对性的处理并用于显示。该笔迹处理方法可以在无压感的情况下实现实时的笔迹处理的效果,同时使得用于显示的笔迹轨迹具有笔锋效果。该笔迹处理方法还具有计算速度快、实现原理简单、实时性好等优点,可以广泛应用于电子交互白板(例如,会议白板、教学白板等)、电子板报、机场数字签名墙、云本、手写板等需要手写输入的场景。
本公开至少一个实施例还提供一种笔迹处理装置,图8为本公开至少一实施例提供的一种笔迹处理装置的示意性框图。
例如,如图8所示,笔迹处理装置100包括存储器110和处理器120。应当理解的是,图8所示的笔迹处理装置100的组件只是示例性的,而非限制性的,根据实际应用需要,该笔迹处理装置100还可以具有其他组件。例如,该笔迹处理装置100可以采用Windows、Android等操作系统,根据本公开实施例的笔迹形成方法通过运行于该操作系统中的应用程序实现。
例如,存储器110用于非暂时性存储计算机可读指令;处理器120用于运行计算机可读指令,计算机可读指令被处理器120运行时能够执行根据上述任一实施例所述的笔迹处理方法中的一个或多个步骤。
例如,如图8所示,笔迹处理装置100还可以包括触控装置130。触控装置130被配置为获取对应于在触控装置130的工作表面上的笔划的笔迹点组。例如,触控装置130可以包括电子笔、触摸屏、鼠标、触摸板、交互白板等任意的具有触控功能的等输入装置。例如,该触摸屏可以为电容式触摸屏,例如自容式触摸屏或互容式触摸屏,还可以为电阻式触摸屏、表面声波式触摸屏、红外式触摸屏等。
例如,触控装置130可以包括触摸传感器以及控制器(例如驱动IC),该控制器接收触摸传感器采集的电信号,将该电信号处理后得到触摸信号并提供给处理器等以用于进一步处理,以实现本公开实施例提供的笔迹处理方法。本公开的实施例对触控装置130的类型、结构以及通信方式等不作限制。触控装置130包括具有一定面积的工作表面,用户可以用手指直接在触控装置130的工作表面上进行书写,也可以利用主动式触控笔或被动式触控笔在触控装置130的工作表面上进行书写,本公开的实施例对此不作限制。这里,工作表面是指用于检测用户的触摸操作的表面,例如触控装置130的触摸表面。
例如,如图8所示,笔迹处理装置100还可以包括显示装置140。显示装置140被配置为显示对应于所述笔迹点组的用于显示的笔迹轨迹。例如,显示装置140可以包括显示屏、投影仪等显示装置。该显示装置140的显示屏例如为LCD显示屏、OLED显示屏、QLED显示屏、投影部件、VR头戴式显示设备(例如VR头盔、VR眼镜)、AR显示设备等,本公开的实施例对此不作限制。该显示装置140可以显示由本公开实施例提供的笔迹形成方法所形成的笔迹,例如毛笔笔迹。
例如,在一些实施例中,触控装置130和显示装置140可以集成为例如触控显示屏,从而既具有触控功能又具有显示功能。
例如,存储器110和处理器120可以集成在触控显示屏中,又例如,存储器110和处理器120也可以集成在云端服务器中。
例如,笔迹处理装置100还可以包括通信模块,通信模块用于实现笔迹处理装置100与其他电子设备之间的通信,例如,当笔迹处理装置100应用于机场的显示屏中时,通信模块可以将显示笔迹轨迹从机场的显示屏传输至用户的手机或平板电脑内,从而用户的手机或平板电脑可以存储该显示笔迹轨迹。
例如,处理器120可以控制笔迹处理装置100中的其它组件以执行期望的功能。处理器120可以是中央处理单元(CPU)、张量处理器(TPU)等具有数据处理能力和/或程序执行能力的器件。中央处理元(CPU)可以为X86或ARM架构等。
例如,存储器110可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机可读指令,处理器120可以运行所述计算机可读指令,以实现笔迹处理装置100的各种功能。
例如,存储器110、存储器120、触控装置130和显示装置140等组件之间可以通过网络进行通信。网络可以包括无线网络、有线网络、和/或无线网络和有线网络的任意组合。网络可以包括局域网、互联网、电信网、基于互联网和/或电信网的物联网(Internet ofThings)、和/或以上网络的任意组合等。有线网络例如可以采用双绞线、同轴电缆或光纤传输等方式进行通信,无线网络例如可以采用3G/4G/5G移动通信网络、蓝牙、Zigbee或者WiFi等通信方式。本公开对网络的类型和功能在此不作限制。
例如,关于笔迹处理装置100执行笔迹处理的过程的详细说明可以参考笔迹处理方法的实施例中的相关描述,重复之处不再赘述。
本公开至少一实施例还提供一种存储介质。图9为本公开至少一个实施例提供的一种存储介质的示意图。例如,如图9所示,在存储介质200上可以非暂时性地存储一个或多个计算机可读指令201。例如,当所述计算机可读指令201由计算机执行时能够执行根据上文所述的笔迹处理方法中的一个或多个步骤。
例如,该存储介质200可以应用于上述笔迹处理装置100中,例如,其可以作为笔迹处理装置100中的存储器110。关于存储介质200的说明可以参考笔迹处理装置100的实施例中对于存储器100的描述,重复之处不再赘述。
图10为本公开至少一实施例提供的一种硬件环境的示意图。本公开提供的笔迹处理装置100可以应用在互联网系统。
利用图10中提供的计算机系统可以实现本公开中涉及的笔迹处理装置100。这类计算机系统可以包括个人电脑、笔记本电脑、平板电脑、手机、个人数码助理、智能眼镜、智能手表、智能指环、智能头盔及任何智能便携设备或可穿戴设备。本实施例中的特定系统利用功能框图解释了一个包含用户界面的硬件平台。这种计算机设备可以是一个通用目的的计算机设备,或一个有特定目的的计算机设备。两种计算机设备都可以被用于实现本实施例中的笔迹处理装置100。计算机系统可以实施当前描述的实现笔迹处理所需要的信息的任何组件。例如,计算机系统能够被计算机设备通过其硬件设备、软件程序、固件以及它们的组合所实现。为了方便起见,图10中只绘制了一台计算机设备,但是本实施例所描述的实现笔迹处理所需要的信息的相关计算机功能是可以以分布的方式、由一组相似的平台所实施的,分散计算机系统的处理负荷。
如图10所示,计算机系统可以包括通信端口250,与之相连的是实现数据通信的网络,例如,计算机系统可以通过通信端口250发送和接收信息及数据,即通信端口250可以实现计算机系统与其他电子设备进行无线或有线通信以交换数据。计算机系统还可以包括一个处理器组220(即上面描述的处理器),用于执行程序指令。处理器组220可以由至少一个处理器(例如,CPU)组成。计算机系统可以包括一个内部通信总线210。计算机系统可以包括不同形式的程序储存单元以及数据储存单元(即上面描述的存储器或存储介质),例如硬盘270、只读存储器(ROM)230、随机存取存储器(RAM)240,能够用于存储计算机处理和/或通信使用的各种数据文件,以及处理器组220所执行的可能的程序指令。计算机系统还可以包括一个输入/输出组件260,输入/输出组件260用于实现计算机系统与其他组件(例如,用户界面280等)之间的输入/输出数据流。
通常,以下装置可以连接输入/输出组件260:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信接口。
虽然图10示出了具有各种装置的计算机系统,但应理解的是,并不要求计算机系统具备所有示出的装置,可以替代地,计算机系统可以具备更多或更少的装置。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种笔迹处理方法,包括:
获取对应于在触控装置的工作表面上的笔划的笔迹点组,其中,所述笔迹点组包括依次排列的多个笔迹点,所述多个笔迹点中的每个笔迹点的数据包括坐标和动作类型;
基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,其中,所述多个模型图案与所述多个笔迹点一一对应;以及
依次连接所述多个模型图案,以确定对应于所述笔迹点组的用于显示的笔迹轨迹。
2.根据权利要求1所述的笔迹处理方法,其中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,包括:响应于所述多个笔迹点中的第1个笔迹点的动作类型为起笔类型,根据书写应用中书写过程中对应的基本线宽和所述第1个笔迹点的坐标确定对应于所述第1个笔迹点的模型图案的尺寸和中心坐标。
3.根据权利要求2所述的笔迹处理方法,其中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,还包括:
响应于所述第1个笔迹点的动作类型为起笔类型,确定对应于所述笔迹点组的起笔笔画类型,
基于所述起笔笔画类型和所述第1个笔迹点对应的模型图案,确定对应于所述第1个笔迹点的辅助模型图案的尺寸和中心坐标,以及
基于对应于所述第1个笔迹点的所述模型图案和所述辅助模型图案,确定对应于所述第1个笔迹点的辅助四边形,其中,对应于所述第1个笔迹点的所述辅助四边形用于连接所述第1个笔迹点对应的所述模型图案和所述辅助模型图案。
4.根据权利要求3所述的笔迹处理方法,其中,确定对应于所述笔迹点组的起笔笔画类型,包括:
在所述多个笔迹点中确定第t个笔迹点,其中,t为正整数,t≠1,且所述第t个笔迹点的坐标不同于所述第1个笔迹点的坐标;以及
基于所述第1个笔迹点的坐标和所述第t个笔迹点的坐标,确定对应于所述笔迹点组的起笔笔画类型。
5.根据权利要求4所述笔迹处理方法,其中,所述第1个笔迹点的坐标为(x1,y1),所述第t个笔迹点的坐标为(x2,y2),dx=x2–x1,dy=y2–y1,
基于所述第1个笔迹点的坐标和所述第t个笔迹点的坐标,确定对应于所述笔迹点组的起笔笔画类型,包括:
响应于dx=0且dy≠0,确定对应于所述笔迹点组的起笔笔画类型为横,
响应于dx≠0且dy=0,确定对应于所述笔迹点组的起笔笔画类型为竖,
响应于dx≠0且dy≠0:
若dx>0且0≤|dy/dx|≤0.27,确定对应于所述笔迹点组的起笔笔画类型为横,
若dy>0且0≤|dx/dy|≤0.27,确定对应于所述笔迹点组的起笔笔画类型为竖,
若dx<0、dy>0且0.27<|dy/dx|≤3.73,确定对应于所述笔迹点组的起笔笔画类型为撇,
若dx>0、dy>0且0.27<|dy/dx|≤3.73,确定对应于所述笔迹点组的起笔笔画类型为捺,
当dx>0、dy<0且0.27<|dy/dx|≤3.73,确定对应于所述笔迹点组的起笔笔画类型为提,
若dx<0且dy<0,确定对应于所述笔迹点组的起笔笔画类型为其他类型。
6.根据权利要求5所述的笔迹处理方法,其中,基于所述起笔笔画类型和所述第1个笔迹点对应的模型图案,确定对应于所述第1个笔迹点的辅助模型图案的尺寸和中心坐标,包括:
若所述起笔笔画类型为横,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/2,O1O2=w/2,α=57°~63°;
若所述起笔笔画类型为竖,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/1.5,O1O2=w/1.5,α=67°~73°;
若所述起笔笔画类型为撇或者提,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/2,O1O2=w/2,α=42°~48°;
若所述起笔笔画类型为捺或者其他类型,将所述辅助模型图案的尺寸和中心坐标设置为使得r=R/1.5,O1O2=w/1.5,α=7°~13°,
其中,R表示对应于所述第1个笔迹点的模型图案的尺寸,O1表示对应于所述第1个笔迹点的模型图案的中心,r表示对应于所述第1个笔迹点的辅助模型图案的尺寸,O2表示对应于所述第1个笔迹点的辅助模型图案的中心,O1O2表示对应于所述第1个笔迹点的所述模型图案和所述辅助模型图案之间的中心连线的距离,w表示所述基本线宽,α表示所述中心连线与水平线的夹角。
7.根据权利要求2所述的笔迹处理方法,其中,基于所述多个笔迹点的坐标和动作类型确定所述多个笔迹点对应的模型图案,还包括:
响应于所述第1个笔迹点的动作类型为起笔类型,根据所述基本线宽和所述多个笔迹点中的第2个笔迹点的坐标确定对应于所述第2个笔迹点的模型图案的尺寸和中心坐标,
其中,所述第1个笔迹点和所述第2个笔迹点相邻。
8.根据权利要求1所述的笔迹处理方法,其中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,包括:
响应于所述多个笔迹点中的第1个笔迹点的动作类型为运笔类型,根据所述笔迹点组的前一个笔迹点组确定对应于所述多个笔迹点中的第1个笔迹点的模型图案的尺寸和对应于所述多个笔迹点中的第2个笔迹点的模型图案的尺寸,
根据所述第1个笔迹点的坐标确定对应于所述第1个笔迹点的模型图案的中心坐标,以及
根据所述第2个笔迹点的坐标确定对应于所述第2个笔迹点的模型图案的中心坐标。
9.根据权利要求8所述的笔迹处理方法,其中,根据所述笔迹点组的前一个笔迹点组确定对应于所述多个笔迹点中的第1个笔迹点的模型图案的尺寸和对应于所述多个笔迹点中的第2个笔迹点的模型图案的尺寸,包括:
响应于所述前一个笔迹点组的第N个笔迹点的坐标与所述笔迹点组的第1个笔迹点的坐标相同,将对应于所述前一个笔迹点组的第N个笔迹点的模型图案的尺寸作为对应于所述笔迹点组的第1个笔迹点的模型图案的尺寸,以及
确定所述笔迹点组的第2个笔迹点与第1个笔迹点的第三距离和所述前一个笔迹点组的第N个笔迹点与第N-1个笔迹点的第四距离,并根据基本线宽、对应于所述笔迹点组的第1个笔迹点的模型图案的尺寸、所述第三距离和所述第四距离,确定对应于所述笔迹点组的第2个笔迹点的模型图案的尺寸,
其中,所述前一个笔迹点组的第N-1个笔迹点与第N个笔迹点为所述前一个笔迹点组的最后两个笔迹点。
10.根据权利要求7或9所述的笔迹处理方法,其中,基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,还包括:
从所述多个笔迹点中的第i个笔迹点开始,确定所述第i个笔迹点与第i-1个笔迹点的第一距离以及所述第i-1个笔迹点与第i-2个笔迹点的第二距离,并根据所述基本线宽、对应于所述第i-1个笔迹点的模型图案的尺寸、所述第一距离和所述第二距离,确定对应于所述第i个笔迹点的模型图案的尺寸;以及
根据所述第i个笔迹点的坐标确定对应于所述第i个笔迹点的模型图案的中心坐标,
其中,i为正整数,且i≥3。
11.根据权利要求1或2所述的笔迹处理方法,其中,所述多个笔迹点中的第M个笔迹点为所述笔迹点组的最后一个笔迹点,
基于所述多个笔迹点的坐标和动作类型确定对应于所述多个笔迹点的多个模型图案,包括:
响应于所述第M个笔迹点的动作类型为收笔类型,确定对应于所述笔迹点组的起笔笔画类型,以及
根据所述起笔笔画类型设置对应于所述多个笔迹点中的第M-j个笔迹点至第M个笔迹点的各个模型图案的尺寸,
其中,j为正整数,且j≥1。
12.根据权利要求11所述的笔迹处理方法,其中,所述起笔笔画类型包括横、竖、撇、捺、提和其他类型,
根据所述起笔笔画类型设置对应于所述多个笔迹点中的第M-j笔迹点至第M个笔迹点的各个模型图案的尺寸,包括:
若所述起笔笔画类型为横或者捺,按照第一预设比例依次增大对应于所述第M-j个笔迹点至所述第M个笔迹点的各个模型图案的尺寸;
若所述起笔笔画类型为竖或者撇或者提,按照第二预设比例依次减小对应于所述第M-j个笔迹点至所述第M个笔迹点的各个模型图案的尺寸;以及
若所述起笔笔画类型为其他类型,则不根据所述起笔笔画类型设置对应于所述多个笔迹点中的第M-j笔迹点至第M个笔迹点的各个模型图案的尺寸。
13.根据权利要求1-9任一项所述的笔迹处理方法,其中,对应于所述笔迹点组的每个笔迹点的模型图案包括圆或椭圆,
依次连接所述多个模型图案,以确定对应于所述笔迹点组的用于显示的笔迹轨迹,包括:
依次连接所述多个笔迹点中每相邻的两个笔迹点对应的模型图案的四个外公切点以形成所述每相邻的两个笔迹点之间的四边形,其中,所述每相邻的两个笔迹点之间的四边形用于连接所述每相邻的两个笔迹点对应的模型图案。
14.一种笔迹处理装置,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,其中,所述计算机可读指令被所述处理器运行时执行根据权利要求1-13任一项所述的笔迹处理方法。
15.一种非瞬时性存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,能够执行根据权利要求1-13任一项所述的笔迹处理方法的指令。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363753.4A CN113589999B (zh) | 2020-04-30 | 2020-04-30 | 笔迹处理方法、笔迹处理装置、非瞬时性存储介质 |
PCT/CN2021/080493 WO2021218446A1 (zh) | 2020-04-30 | 2021-03-12 | 笔迹处理方法、笔迹处理装置、非瞬时性存储介质 |
US17/763,704 US11789604B2 (en) | 2020-04-30 | 2021-03-12 | Handwriting processing method, handwriting processing device and non-transitory storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010363753.4A CN113589999B (zh) | 2020-04-30 | 2020-04-30 | 笔迹处理方法、笔迹处理装置、非瞬时性存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113589999A true CN113589999A (zh) | 2021-11-02 |
CN113589999B CN113589999B (zh) | 2024-01-30 |
Family
ID=78237320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010363753.4A Active CN113589999B (zh) | 2020-04-30 | 2020-04-30 | 笔迹处理方法、笔迹处理装置、非瞬时性存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11789604B2 (zh) |
CN (1) | CN113589999B (zh) |
WO (1) | WO2021218446A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092945A (zh) * | 2022-01-21 | 2022-02-25 | 广州文石信息科技有限公司 | 一种基于墨水屏的手写输入方法及装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240143158A1 (en) * | 2022-10-31 | 2024-05-02 | Optoma Corporation | Electronic whiteboard system and operation method thereof |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1264864A (zh) * | 1999-02-01 | 2000-08-30 | 夏普公司 | 字符显示装置、字符显示方法、以及记录介质 |
US20100054602A1 (en) * | 2008-08-27 | 2010-03-04 | Adrian Kaehler | System and Method for Single Stroke Character Recognition |
CN102937850A (zh) * | 2012-12-04 | 2013-02-20 | 上海合合信息科技发展有限公司 | 实时手写笔迹的美化方法及电子设备 |
CN106293232A (zh) * | 2016-08-11 | 2017-01-04 | 江苏中威科技软件系统有限公司 | 一种实现笔锋效果的手写输入方法及系统 |
CN106708413A (zh) * | 2017-01-20 | 2017-05-24 | 山西大学 | 触摸屏手写输入呈现为具有型笔特征笔迹的方法 |
CN107798717A (zh) * | 2017-09-13 | 2018-03-13 | 深圳市创易联合科技有限公司 | 电子毛笔书写方法、装置、计算机设备和存储介质 |
CN110531875A (zh) * | 2019-08-21 | 2019-12-03 | 深圳市威屏科技有限公司 | 书写笔锋的生成方法、终端设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6937575B2 (ja) * | 2013-11-19 | 2021-09-22 | 株式会社ワコム | インクデータの生成、インクデータのレンダリング、インクデータの操作、及び、インクデータの伝達のための方法及びシステム |
CN105405159A (zh) | 2015-10-27 | 2016-03-16 | 深圳市东向同人科技有限公司 | 一种书写笔迹的显示方法及装置 |
CN110321054B (zh) * | 2019-06-20 | 2022-08-16 | 广州视源电子科技股份有限公司 | 毛笔笔迹绘制方法、装置、设备及可读存储介质 |
-
2020
- 2020-04-30 CN CN202010363753.4A patent/CN113589999B/zh active Active
-
2021
- 2021-03-12 WO PCT/CN2021/080493 patent/WO2021218446A1/zh active Application Filing
- 2021-03-12 US US17/763,704 patent/US11789604B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1264864A (zh) * | 1999-02-01 | 2000-08-30 | 夏普公司 | 字符显示装置、字符显示方法、以及记录介质 |
US20100054602A1 (en) * | 2008-08-27 | 2010-03-04 | Adrian Kaehler | System and Method for Single Stroke Character Recognition |
CN102937850A (zh) * | 2012-12-04 | 2013-02-20 | 上海合合信息科技发展有限公司 | 实时手写笔迹的美化方法及电子设备 |
CN106293232A (zh) * | 2016-08-11 | 2017-01-04 | 江苏中威科技软件系统有限公司 | 一种实现笔锋效果的手写输入方法及系统 |
CN106708413A (zh) * | 2017-01-20 | 2017-05-24 | 山西大学 | 触摸屏手写输入呈现为具有型笔特征笔迹的方法 |
CN107798717A (zh) * | 2017-09-13 | 2018-03-13 | 深圳市创易联合科技有限公司 | 电子毛笔书写方法、装置、计算机设备和存储介质 |
CN110531875A (zh) * | 2019-08-21 | 2019-12-03 | 深圳市威屏科技有限公司 | 书写笔锋的生成方法、终端设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
余佳航;李志扬;: "基于摄像头的实时原笔迹提取与汉字识别", 信息技术, no. 09 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092945A (zh) * | 2022-01-21 | 2022-02-25 | 广州文石信息科技有限公司 | 一种基于墨水屏的手写输入方法及装置 |
CN114092945B (zh) * | 2022-01-21 | 2022-04-19 | 广州文石信息科技有限公司 | 一种基于墨水屏的手写输入方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113589999B (zh) | 2024-01-30 |
WO2021218446A1 (zh) | 2021-11-04 |
US20220365670A1 (en) | 2022-11-17 |
US11789604B2 (en) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111381754B (zh) | 笔迹处理方法、设备及介质 | |
US8860675B2 (en) | Drawing aid system for multi-touch devices | |
CN111625179B (zh) | 图形绘制方法、电子设备及计算机存储介质 | |
CN113590000B (zh) | 笔迹处理方法、笔迹处理装置、存储介质 | |
JP6820919B2 (ja) | 手書きされた図コネクタの認識のためのシステム及び方法 | |
US10438385B2 (en) | Generating ink effects for a digital ink stroke | |
KR102470522B1 (ko) | 핸드라이팅된 다이어그램 커넥터들의 관리를 위한 시스템 및 방법 | |
CN104345948A (zh) | 一种手写原笔迹的实现方法、实现装置及电子设备 | |
WO2021218446A1 (zh) | 笔迹处理方法、笔迹处理装置、非瞬时性存储介质 | |
WO2021077539A1 (zh) | 图形调整方法、装置、设备及存储介质 | |
CN108628455B (zh) | 一种基于触摸屏手势识别的虚拟沙画绘制方法 | |
CN111782131A (zh) | 笔锋实现方法、装置、设备及可读存储介质 | |
Kim et al. | AR Lamp: interactions on projection-based augmented reality for interactive learning | |
WO2021218448A1 (zh) | 笔迹形成方法、笔迹形成装置及电子设备 | |
WO2023170308A1 (en) | Rescaling text blocks to improve readability | |
US20200225787A1 (en) | Stroke-based object selection for digital board applications | |
CN113487704A (zh) | 一种燕尾箭头标的绘制方法、装置、存储介质及终端设备 | |
CN113360072A (zh) | 一种信息处理方法、信息处理装置、电子设备和存储介质 | |
US20240020893A1 (en) | Handwriting Forming Method and Apparatus, and Electronic Device | |
CN112306359A (zh) | 一种笔迹的展示方法、装置、设备及存储介质 | |
CN114585992B (zh) | 书写轨迹处理方法、触控设备、书写系统及存储介质 | |
WO2023000960A1 (zh) | 一种电子白板及其图表显示的方法 | |
CN116027954A (zh) | 一种笔迹的生成方法及相关装置 | |
CN115509431A (zh) | 笔迹绘制方法、装置、设备及存储介质 | |
US20180240255A1 (en) | Directional stamping |
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 |