CN115543514A - 指针显示方法、装置、芯片、电子表及可读存储介质 - Google Patents
指针显示方法、装置、芯片、电子表及可读存储介质 Download PDFInfo
- Publication number
- CN115543514A CN115543514A CN202211225133.XA CN202211225133A CN115543514A CN 115543514 A CN115543514 A CN 115543514A CN 202211225133 A CN202211225133 A CN 202211225133A CN 115543514 A CN115543514 A CN 115543514A
- Authority
- CN
- China
- Prior art keywords
- value
- pointer
- pixel
- rotation
- pixel point
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013507 mapping Methods 0.000 claims abstract description 21
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 8
- 230000001419 dependent effect Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 18
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本申请提出了一种指针显示方法、装置、芯片、电子表及可读存储介质,该方法包括:获取指针的目标旋转角度;根据目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;基于预设目标区域范围,确定坐标值对应的像素值;基于像素值,在电子表盘上显示指针旋转后的图像。本申请通过计算旋转后对应位置的像素值,能够准确地实现表盘指针的旋转。
Description
技术领域
本申请涉及电子信息及图像处理技术领域,具体涉及一种指针显示方法、装置、芯片、电子表及可读存储介质。
背景技术
随着各种智能设备的发展,给人们的生活带来了诸多便利,例如通过智能穿戴设备显示时间。目前现有技术中,智能穿戴设备显示时间主要包括两种方式,其中一种是数字模式,另外一种是指针模式。对于智能穿戴设备的指针模式,首先根据需要显示的时间,确定需要旋转的角度,然后根据旋转角度计算出该角度对应的正弦值和余弦值,最后通过计算公式对指针进行旋转。
然而,在对现有技术的研究与实践的过程中,本申请的发明人发现,现有技术在通过硬件实现的过程中,不能直接计算目标角度的正弦值和余弦值;并且现有技术在计算得到旋转后的坐标值后,无法直接得到对应位置的像素值,进而实现表盘指针的旋转。
前面的叙述在于提供一般的背景信息,并不一定构成现有技术。
发明内容
针对上述技术问题,本申请提供一种指针显示方法、装置、芯片、电子表及可读存储介质,通过计算旋转后对应位置的像素值,能够准确地实现表盘指针的旋转。
本申请提供一种指针显示方法,包括如下步骤:
获取指针的目标旋转角度;
根据所述目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;
基于预设目标区域范围,确定所述坐标值对应的像素值;
基于所述像素值,在电子表盘上显示所述指针旋转后的图像。
可选地,所述表盘由多个像素点组成,所述根据所述目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值,包括:
获取所述表盘内每个像素点旋转前的坐标值;
确定所述目标旋转角度对应的正弦值和余弦值;
基于所述表盘内每个像素点旋转前的坐标值以及所述目标旋转角度对应的正弦值和余弦值,确定所述表盘内每个像素点旋转后对应的坐标值。
可选地,所述确定所述目标旋转角度对应的正弦值和余弦值,包括:
将所述目标旋转角度分为多个预设角度,并每次基于对应的预设角度对所述表盘内每个像素点进行旋转,直至所述指针旋转至目标位置;
当每次基于对应的预设角度对所述表盘内每个像素点进行旋转时,基于所述像素点旋转前的坐标值与所述像素点旋转后的坐标值,确定所述对应的预设角度的正弦值和余弦值;
将最后一次确定的正弦值和余弦值作为对应所述目标旋转角度的正弦值和余弦值。
可选地,所述当每次基于对应的预设角度对所述表盘内每个像素点进行旋转时,基于所述像素点旋转前的坐标值与所述像素点旋转后的坐标值,确定所述对应的预设角度的正弦值和余弦值,包括:
获取所述像素点旋转前的坐标与所述像素点旋转后的坐标的三角函数关系;
将所述三角函数关系转换成因变量为旋转参数的三角函数计算模型,其中,所述旋转参数与每次旋转的旋转方向和预设角度具有映射关系;
将预设初始值输入至所述三角函数计算模型,得到所述对应的预设角度的正弦值和余弦值。
可选地,所述每次基于对应的预设角度对所述表盘内每个像素点进行旋转,包括:
获取更新后的预设角度的累加值,并判断所述累加值是否大于所述对应的预设角度;
若是,则根据所述对应的预设角度将所述表盘内每个像素进行逆时针方向旋转,并以所述累加值与所述对应的预设角度的差值作为更新后的累加值;
若否,则根据所述对应的预设角度将所述表盘内每个像素进行顺时针方向旋转,并以所述累加值与所述对应的预设角度的总和值作为更新后的累加值。
可选地,所述基于预设目标区域范围,确定所述坐标值对应的像素值,包括:
基于所述表盘内每个像素点旋转后对应的坐标值,将旋转前所述表盘内每个像素点映射到所述表盘内每个像素点旋转后对应的像素点;
当所述表盘内任一像素点旋转后的坐标在所述预设目标区域内时,获取预设范围内的多个像素点,并根据所述多个像素点的像素值对所述任一像素点进行插值,以配置所述任一像素点的像素值,并将所述任一像素点的像素值赋值至旋转前对应的像素点;
当所述表盘内任一像素点旋转后的坐标不在所述预设目标区域内时,所述任一像素点对应的像素值保持不变。
可选地,所述获取指针的目标旋转角度,包括:
获取需要显示的目标时间,并从所述目标时间中解析得到时钟数和分钟数;
基于所述时钟数和所述分钟数与预设旋转角度的函数关系,确定所述指针的目标旋转角度。
可选地,所述电子表盘包括时针和分针,所述基于所述时钟数和所述分钟数与预设旋转角度的函数关系,确定所述指针的目标旋转角度,包括:
基于所述时钟数和所述分钟数与预设旋转角度的函数关系,分别确定所述时针的目标旋转角度以及所述分针的目标旋转角度。
相应地,本申请还提供了一种指针显示装置,包括:
第一确定模块,用于获取指针的目标旋转角度;
第二确定模块,用于根据所述目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;
第三确定模块,用于基于预设目标区域范围,确定所述坐标值对应的像素值;
显示模块,用于基于所述像素值,在电子表盘上显示所述指针旋转后的图像。
本申请还提供了一种芯片,用于执行如上任一项所述的指针显示方法的步骤。
本申请还提供了一种电子表,包括如上所述的芯片。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的指针显示方法的步骤。
实施本申请实施例,具有如下有益效果:
如上所述,本申请提供的一种指针显示方法、装置、芯片、电子表及可读存储介质,其中方法包括:首先,获取指针的目标旋转角度;然后,根据目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;接着,基于预设目标区域范围,确定坐标值对应的像素值;最后,基于像素值,在电子表盘上显示指针旋转后的图像。本申请的指针显示方案,通过计算旋转角度的正弦值和余弦值,并对对应坐标进行旋转,在得到旋转后的坐标值后计算相关位置的像素值,从而能够准确地实现表盘指针的旋转,使得电子表盘能够准确地显示当前时间。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的指针显示方法的第一种实施方式的流程示意图;
图2是本申请实施例提供的指针显示方法的第二种实施方式的流程示意图;
图3是本申请实施例提供的指针显示装置的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。本申请使用的术语“或”、“和/或”、“包括以下至少一个”等可被解释为包括性的,或意味着任一个或任何组合。例如,“包括以下至少一个:A、B、C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”,再如,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A和B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,在本文中,采用了诸如S1、S2等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S2后执行S1等,但这些均应在本申请的保护范围之内。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
目前已有智能穿戴设备在显示时间时,在通过硬件实现的过程中,不能直接计算目标角度的正弦值和余弦值;并且在计算得到旋转后的坐标值后,无法直接得到对应位置的像素值,进而实现表盘指针的旋转。
为了解决上述问题,本申请提出了一种指针显示方法、装置、芯片、电子表及可读存储介质,能够准确地实现表盘指针的旋转,使得电子表盘能够准确地显示当前时间。
请参阅图1,图1是本申请实施例提供的指针显示方法的第一种实施方式的流程示意图。该指针显示方法具体可以包括:
S1.获取指针的目标旋转角度。
具体的,对于步骤S1,主要获取表盘当前所需显示的时间,从而确定指针的目标旋转角度。可以理解的是,本申请实施例中应用指针显示方法的电子表可以通过网络实时获取当前时间,也可以通过输入端获取用户输入到电子表的当前时间或者预设时间,当用户输入的是预设时间时,本实施例的电子表可以通过电子表内设的计时器根据预设时间计算得到当前时间。获取到当前时间后,需要指针旋转到目标位置,以使到达目标位置的指针用于指示当前时间,例如,当前时间为“2:00”,指针包括时针和分针,时针到达数字“2”的目标位置,分针到达数字“0”的目标位置。指针到达目标位置,需要旋转一定角度,指针旋转到目标位置,则需要指针旋转目标旋转角度。在本实施例中,以数字“0”的位置为原始位置,若时针到达数字“2”的目标位置,则时针需要旋转60度,因此目标旋转角度为60度。
可选地,在一些实施例中,步骤S1具体可以包括:
(11)获取需要显示的目标时间,并从目标时间中解析得到时钟数和分钟数;
(12)基于时钟数和分钟数与预设旋转角度的函数关系,确定指针的目标旋转角度。
可选地,在一些实施例中,电子表盘只有秒针,用于读秒计时。
可选地,在一些实施例中,电子表盘包括时针、分针以及秒针。
可选地,在一些实施例中,电子表盘包括时针和分针。
可选地,在一些实施例中,步骤(12)具体可以包括:
基于时钟数和分钟数与预设旋转角度的函数关系,分别确定时针的目标旋转角度以及分针的目标旋转角度。
具体的,若当前时间为2:16,从当前时间中解析得到时钟数为2,分钟数为16,根据时钟数和分钟数与预设旋转角度的函数关系,时针的目标旋转角度为时钟数*30+分钟数/2,因此时针旋转到目标位置所需的目标旋转角度为2*30+16/2=68度;根据时钟数和分钟数与预设旋转角度的函数关系,分针的目标旋转角度为分钟数*6,因此分针旋转到目标位置所需的目标旋转角度为16*6=96度。
S2.根据目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值。
具体的,对于步骤S2,在一些实施例中,根据显示的时间,确定旋转到目标位置所需的目标旋转角度,然后根据目标旋转角度,通过以下计算公式对指针进行旋转:
x0=x1*xcos-y1*ysin
y0=y1*xcos+x1*ysin
其中,x1、y1为旋转前的坐标,xcos、ysin分别为目标旋转角度的余弦值、正弦值,x0、y0为旋转后的坐标。
但是,在一些实施例中,受限于硬件实现方式,电子表不能直接计算目标旋转角度的余弦值和正弦值,为了解决此技术问题,本申请提供以下实施例:
可选地,请参见图2,图2为本申请实施例提供的指针显示方法的第二种实施方式的流程示意图。步骤S2具体可以包括:
S21.获取表盘内每个像素点旋转前的坐标值。
可选地,在一些实施例中,表盘由多个像素点组成。可以理解的是,指针(时针或分针)由多个像素点组成,表盘也是由多个像素点组成,每个像素点的显示位置由坐标表示。指针或表盘每次旋转,每个像素点的旋转角度都相同,但是旋转后,每个像素点的位置可能不同,导致指针旋转后每个像素的坐标可能不同。例如,指针为12*20个像素组成的12*20矩形图案,每次旋转,指针旋转后每个像素的位置不同,但旋转角度相同。
S22.确定目标旋转角度对应的正弦值和余弦值。
具体的,在一些实施例中,目标旋转角度的正弦值和余弦值可以通过外部运算器中的三角函数模型计算得到,然后将外部运算器计算所得的正弦值和余弦值输入至该电子表盘作为目标旋转角度的正弦值和余弦值。
可选地,在一些实施例中,步骤S22具体可以包括:
(21)将目标旋转角度分为多个预设角度,并每次基于对应的预设角度对表盘内每个像素点进行旋转,直至指针旋转至目标位置;
(22)当每次基于对应的预设角度对表盘内每个像素点进行旋转时,基于像素点旋转前的坐标值与像素点旋转后的坐标值,确定对应的预设角度的正弦值和余弦值;
(23)将最后一次确定的正弦值和余弦值作为对应目标旋转角度的正弦值和余弦值。
可以理解的是,在本实施例中,表盘的每个像素通过多次旋转到达目标位置,由于每次旋转的角度为已知的预设角度,因此每次旋转所要计算的正弦值和余弦值为固定参数,从而减少计算正弦值和余弦值的步骤,避免通过外部运算器计算正弦值和余弦值,实现电子表盘自主获取目标旋转角度的正弦值和余弦值。
可选地,在一些实施例中,步骤(22)具体可以包括:
(221)获取像素点旋转前的坐标与像素点旋转后的坐标的三角函数关系;
(222)将三角函数关系转换成因变量为旋转参数的三角函数计算模型,其中,旋转参数与每次旋转的旋转方向和预设角度具有映射关系;
(223)将预设初始值输入至三角函数计算模型,得到对应的预设角度的正弦值和余弦值。
具体的,在本实施例中,获取到的像素点旋转前的坐标与像素点旋转后的坐标的三角函数关系为:
x0=x1*xcos-y1*ysin
y0=y1*xcos+x1*ysin
当x1为1,y1为0时,得到的x0为目标旋转角度的余弦值,得到的y0为目标旋转角度的正弦值。
对上式提取xcos,以将三角函数关系转换成因变量为旋转参数的三角函数计算模型:
x0=xcos*(x1-y1*ztan)
y0=xcos*(y1+x1*ztan)
在本实施例中,像素旋转16次到达目标位置(次数越大,得到的余弦值和正弦值越接近理论值),每次旋转的预设角度如下:45,26.565051,14.036243,7.125016,3.576334,1.789911,0.895174,0.447614,0.223811,0.111906,0.055953,0.027976,0.013988,0.006994,0.003497,0.001749。
因此,在上述三角函数计算模型中,每次旋转的正切值分别为1/2i-1,i代表第几次旋转,随着旋转次数的增加,旋转角度的正切值ztan随之减少,对应的旋转角度也越来越小。由于每次旋转预设角度的正切值都是1/2的几次方,因此本实施例的电子表只需要通过移位和加法就可以实现在每次旋转时计算正弦值和余弦值。
根据上述三角函数计算模型,由于可以提前将所有预设角度的余弦值xcos提取并作为参数cos_temp,因此将上述三角函数计算模型进一步简化,得到每次旋转时计算正弦值和余弦值的简化式为:
x0=x1-d*y1*ztan
y0=y1+d*x1*ztan
其中,d为旋转方向相关参数。
在计算最后一次的正弦值和余弦值时,将参数cos_temp与上述简化式相乘,即可得到目标旋转角度的正弦值和余弦值。
可以理解的是,通过上述实施例可知,目标旋转角度并不一定是预设角度的累加和,为了解决此技术问题,本申请提供以下实施例:
可选地,在一些实施例中,步骤(23)具体可以包括:
(231)获取更新后的预设角度的累加值,并判断累加值是否大于对应的预设角度;
(232)若是,则根据对应的预设角度将表盘内每个像素进行逆时针方向旋转,并以累加值与对应的预设角度的差值作为更新后的累加值;
(233)若否,则根据对应的预设角度将表盘内每个像素进行顺时针方向旋转,并以累加值与对应的预设角度的总和值作为更新后的累加值。
具体的,在本实施例中,变量d表征旋转的方向,上述计算正弦值和余弦值的简化式可以进一步转化为:
x0=x1-d*y1*ztan
y0=y1+d*x1*ztan
当每次旋转的角度累加和不大于目标角度值时,表盘像素进行顺时针旋转,d=1;当预设角度的累加和大于目标角度值时,表盘像素进行逆时针旋转,d=-1。假设每次旋转的角度为θi,则在计算角度累加和的过程中,当前第i次旋转时参与计算累加值的预设角度为d*θi,预设角度的累加值为d*θ1+d*θ2+……d*θi。
由于提前将xcos提取出来,每次旋转都需要计算旋转角度的余弦值,但每次旋转的角度是确定的,因此,可以提前计算出来所有旋转角度的余弦值,将这些余弦值相乘,得到一个参数cos_temp,使其乘以输入的坐标(x1,y1),作为新的输入坐标值,然后对其进行多次旋转,最终得到的结果就是目标角度的正弦值和余弦值。
另外,由于上述实施例只能计算目标旋转角度在[-99.88,99.88]的正弦值和余弦值,因此本申请还在上述实施例的基础上,提供改进的实施例如下:
当目标旋转角度θ不大于90度时,目标旋转角度保持不变,参数flag=0;
当目标旋转角度θ大于90度且不大于180度时,目标旋转角度转换为θ-90,参数flag=1;
当目标旋转角度θ大于180度且不大于270度时,目标旋转角度转换为θ-180,参数flag=2;
当目标旋转角度θ大于270度时,目标旋转角度转换为θ-360,参数flag=3;
对转换以后的目标旋转角度计算得到正弦值y0_temp、余弦值x0_temp,然后根据flag的值进行如下转换,就可以得到原始目标旋转角度的正弦值y0和余弦值x0。
当flag为1时,x0=-y0_temp,y0=x0_temp;
当flag为2时,x0=-x0_temp,y0=-y0_temp;
当flag为0或者3时,x0=x0_temp y0=y0_temp。
S23.基于表盘内每个像素点旋转前的坐标值以及目标旋转角度对应的正弦值和余弦值,确定表盘内每个像素点旋转后对应的坐标值。
具体的,通过步骤S22可以得到目标旋转角度对应的正弦值和余弦值,依次遍历表盘数据,并根据旋转公式:
x0=x1*xcos-y1*ysin
y0=y1*xcos+x1*ysin
计算得到每个像素点旋转以后对应的坐标值。由于提前计算出目标旋转角度的正弦值和余弦值,每个像素点只需要一次旋转公式的变换,就可以得到旋转以后的坐标值。
S3.基于预设目标区域范围,确定坐标值对应的像素值。
具体的,对于步骤S3,基于预设目标区域范围和表盘内每个像素点旋转以后对应的坐标值,确定各个像素点旋转以后的坐标值对应的像素值,从而后续根据像素值实现通过图像方式显示当前时间。
需要说明的是,预设目标区域范围可以是指针覆盖表盘的区域,由于指针大小并不能覆盖表盘的全部区域,一般只能在表盘的一个特定的区域内。在具体的实施例中,将指针竖直放在表盘上,其底部中心与表盘中心重合,指针的宽高决定了预设区域的范围。
但是,由于旋转前每个像素点映射到指针旋转后对应的像素点,图像上的整数点坐标会变成非整数点坐标,为了解决此技术问题,本申请提供以下实施例:
可选地,在一些实施例中,步骤S3具体可以包括:
(31)基于表盘内每个像素点旋转后对应的坐标值,将旋转前表盘内每个像素点映射到表盘内每个像素点旋转后对应的像素点;
(32)当表盘内任一像素点旋转后的坐标在预设目标区域内时,获取预设范围内的多个像素点,并根据多个像素点的像素值对任一像素点进行插值,以配置任一像素点的像素值,并将任一像素点的像素值赋值至旋转前对应的像素点;
(33)当表盘内任一像素点旋转后的坐标不在预设目标区域内时,任一像素点对应的像素值保持不变。
具体的,表盘上的整数点像素坐标经过旋转变换后,一般会变成非整数点坐标,如果旋转后的坐标在该特定区域的范围内,利用其周围整数点位置的像素值进行插值,就可以得到了该点的像素值,并将该像素值赋给旋转前对应的像素坐标。如果旋转后的坐标不在该特定范围,该像素坐标对应的像素值保持不变,直接输出,然后进行下一个像素值的计算。通过遍历整个表盘图像,经过坐标旋转变换和插值两步操作,就能将其像素值依次计算出来。其中,以旋转后对应的像素点的坐标作为预设范围的中心,预设范围内的多个像素点的坐标均为整数点坐标。
计算插值的过程大致如下,以R分量的计算为例,G、B分量的计算类似:
R(i,j)=R1(y0_temp,xo_temp)*(y0_temp+1-y_out)*(x0_temp+1-x_out)+R1(y0_temp+1,x0_temp)*(y_out-y0_temp)*(x0_temp+1-x_out)+R1(y0_temp,xo_temp+1)*(y0_temp+1-y_out)*(x_out-x0_temp)+R1(y0_temp+1,x0_temp+1)*(y_out-y0_temp)*(x_out-x0_temp)。
其中,R代表表盘的R分量,R1代表指针的R分量。坐标(i,j)经过旋转以后变成(x_out,y_out),然后对x_out向下取整,得到x0_temp,对y_out向下取整,得到y0_temp。
S4.基于像素值,在电子表盘上显示指针旋转后的图像。
具体的,对于步骤S4,基于计算得到的表盘每个像素内旋转后对应的像素值,在电子表盘上显示指针旋转后的图像,从而准确显示当前时间。
综上所述,本实施例提供的指针显示方法,首先,获取指针的目标旋转角度;然后,根据目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;接着,基于预设目标区域范围,确定坐标值对应的像素值;最后,基于像素值,在电子表盘上显示指针旋转后的图像。本申请的指针显示方案,通过计算旋转角度的正弦值和余弦值,并对对应坐标进行旋转,在得到旋转后的坐标值后计算相关位置的像素值,从而能够准确地实现表盘指针的旋转,使得电子表盘能够准确地显示当前时间。
相应的,本申请还提供一种指针显示装置,请参阅图3,图3是本申请提供的指针显示装置的结构示意图,具体可以包括第一确定模块1、第二确定模块2、第三确定模块3和显示模块4。
其中,第一确定模块1,用于获取指针的目标旋转角度。
可选地,在一些实施例中,第一确定模块1具体可以包括
时间获取单元,用于获取需要显示的目标时间,并从目标时间中解析得到时钟数和分钟数;
角度确定单元,用于基于时钟数和分钟数与预设旋转角度的函数关系,确定指针的目标旋转角度。
第二确定模块2,用于根据目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值。
可选地,在一些实施例中,第二确定模块2具体可以包括:
第一坐标单元,用于获取表盘内每个像素点旋转前的坐标值。
三角函数单元,用于确定目标旋转角度对应的正弦值和余弦值。
第二坐标单元,用于基于表盘内每个像素点旋转前的坐标值以及目标旋转角度对应的正弦值和余弦值,确定表盘内每个像素点旋转后对应的坐标值。
第三确定模块3,用于基于预设目标区域范围,确定坐标值对应的像素值。
可选地,在一些实施例中,第三确定模块3具体可以包括:
映射单元,用于基于表盘内每个像素点旋转后对应的坐标值,将旋转前表盘内每个像素点映射到表盘内每个像素点旋转后对应的像素点;
第一赋值单元,用于当表盘内任一像素点旋转后的坐标在预设目标区域内时,获取预设范围内的多个像素点,并根据多个像素点的像素值对任一像素点进行插值,以配置任一像素点的像素值,并将任一像素点的像素值赋值至旋转前对应的像素点;
第二赋值单元,用于当表盘内任一像素点旋转后的坐标不在预设目标区域内时,任一像素点对应的像素值保持不变。
显示模块4,用于基于像素值,在电子表盘上显示指针旋转后的图像。
综上所述,本申请实施例提供的指针显示装置,首先,第一确定模块1获取指针的目标旋转角度;然后,第二确定模块2根据目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;接着,第三确定模块3基于预设目标区域范围,确定坐标值对应的像素值;最后,显示模块4基于像素值,在电子表盘上显示指针旋转后的图像。本申请的指针显示方案,通过计算旋转角度的正弦值和余弦值,并对对应坐标进行旋转,在得到旋转后的坐标值后计算相关位置的像素值,从而能够准确地实现表盘指针的旋转,使得电子表盘能够准确地显示当前时间。
本申请一实施例还提供了一种芯片,用于执行如上任一项所述的指针显示方法的步骤。本实施例的芯片能够实现如上的技术效果,在此不再累赘。
本申请还提供了一种电子表,包括如上所述的芯片。本实施例的电子表能够实现如上的技术效果,在此不再累赘。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种指针显示方法,包括步骤:首先,获取指针的目标旋转角度;然后,根据目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;接着,基于预设目标区域范围,确定坐标值对应的像素值;最后,基于像素值,在电子表盘上显示指针旋转后的图像。
上述执行的指针显示方法,本申请实施例中,通过计算旋转角度的正弦值和余弦值,并对对应坐标进行旋转,在得到旋转后的坐标值后计算相关位置的像素值,从而能够准确地实现表盘指针的旋转,使得电子表盘能够准确地显示当前时间。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本申请每个实施例的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk(SSD))等。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (12)
1.一种指针显示方法,其特征在于,包括如下步骤:
获取指针的目标旋转角度;
根据所述目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;
基于预设目标区域范围,确定所述坐标值对应的像素值;
基于所述像素值,在电子表盘上显示所述指针旋转后的图像。
2.根据权利要求1所述的指针显示方法,其特征在于,所述表盘由多个像素点组成,所述根据所述目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值,包括:
获取所述表盘内每个像素点旋转前的坐标值;
确定所述目标旋转角度对应的正弦值和余弦值;
基于所述表盘内每个像素点旋转前的坐标值以及所述目标旋转角度对应的正弦值和余弦值,确定所述表盘内每个像素点旋转后对应的坐标值。
3.根据要求2所述的指针显示方法,其特征在于,所述确定所述目标旋转角度对应的正弦值和余弦值,包括:
将所述目标旋转角度分为多个预设角度,并每次基于对应的预设角度对所述表盘内每个像素点进行旋转,直至所述指针旋转至目标位置;
当每次基于对应的预设角度对所述表盘内每个像素点进行旋转时,基于所述像素点旋转前的坐标值与所述像素点旋转后的坐标值,确定所述对应的预设角度的正弦值和余弦值;
将最后一次确定的正弦值和余弦值作为对应所述目标旋转角度的正弦值和余弦值。
4.根据权利要求3所述的指针显示方法,其特征在于,所述当每次基于对应的预设角度对所述表盘内每个像素点进行旋转时,基于所述像素点旋转前的坐标值与所述像素点旋转后的坐标值,确定所述对应的预设角度的正弦值和余弦值,包括:
获取所述像素点旋转前的坐标与所述像素点旋转后的坐标的三角函数关系;
将所述三角函数关系转换成因变量为旋转参数的三角函数计算模型,其中,所述旋转参数与每次旋转的旋转方向和预设角度具有映射关系;
将预设初始值输入至所述三角函数计算模型,得到所述对应的预设角度的正弦值和余弦值。
5.根据权利要求4所述的指针显示方法,其特征在于,所述每次基于对应的预设角度对所述表盘内每个像素点进行旋转,包括:
获取更新后的预设角度的累加值,并判断所述累加值是否大于所述对应的预设角度;
若是,则根据所述对应的预设角度将所述表盘内每个像素进行逆时针方向旋转,并以所述累加值与所述对应的预设角度的差值作为更新后的累加值;
若否,则根据所述对应的预设角度将所述表盘内每个像素进行顺时针方向旋转,并以所述累加值与所述对应的预设角度的总和值作为更新后的累加值。
6.根据权利要求2所述的指针显示方法,其特征在于,所述基于预设目标区域范围,确定所述坐标值对应的像素值,包括:
基于所述表盘内每个像素点旋转后对应的坐标值,将旋转前所述表盘内每个像素点映射到所述表盘内每个像素点旋转后对应的像素点;
当所述表盘内任一像素点旋转后的坐标在所述预设目标区域内时,获取预设范围内的多个像素点,并根据所述多个像素点的像素值对所述任一像素点进行插值,以配置所述任一像素点的像素值,并将所述任一像素点的像素值赋值至旋转前对应的像素点;
当所述表盘内任一像素点旋转后的坐标不在所述预设目标区域内时,所述任一像素点对应的像素值保持不变。
7.根据权利要求1所述的指针显示方法,其特征在于,所述获取指针的目标旋转角度,包括:
获取需要显示的目标时间,并从所述目标时间中解析得到时钟数和分钟数;
基于所述时钟数和所述分钟数与预设旋转角度的函数关系,确定所述指针的目标旋转角度。
8.根据权利要求7所述的指针显示方法,其特征在于,所述电子表盘包括时针和分针,所述基于所述时钟数和所述分钟数与预设旋转角度的函数关系,确定所述指针的目标旋转角度,包括:
基于所述时钟数和所述分钟数与预设旋转角度的函数关系,分别确定所述时针的目标旋转角度以及所述分针的目标旋转角度。
9.一种指针显示装置,其特征在于,包括:
第一确定模块,用于获取指针的目标旋转角度;
第二确定模块,用于根据所述目标旋转角度和指针坐标的映射关系,确定表盘内每个像素点旋转后对应的坐标值;
第三确定模块,用于基于预设目标区域范围,确定所述坐标值对应的像素值;
显示模块,用于基于所述像素值,在电子表盘上显示所述指针旋转后的图像。
10.一种芯片,其特征在于,用于执行如权利要求1至8任一项所述的指针显示方法的步骤。
11.一种电子表,其特征在于,包括如权利要求10所述的芯片。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的指针显示方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211225133.XA CN115543514A (zh) | 2022-09-30 | 2022-09-30 | 指针显示方法、装置、芯片、电子表及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211225133.XA CN115543514A (zh) | 2022-09-30 | 2022-09-30 | 指针显示方法、装置、芯片、电子表及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115543514A true CN115543514A (zh) | 2022-12-30 |
Family
ID=84730961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211225133.XA Pending CN115543514A (zh) | 2022-09-30 | 2022-09-30 | 指针显示方法、装置、芯片、电子表及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115543514A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116256966A (zh) * | 2023-03-14 | 2023-06-13 | 格兰菲智能科技有限公司 | 时钟显示方法、装置、计算机设备、存储介质 |
CN117135256A (zh) * | 2023-04-06 | 2023-11-28 | 荣耀终端有限公司 | 一种数据处理方法和电子设备 |
-
2022
- 2022-09-30 CN CN202211225133.XA patent/CN115543514A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116256966A (zh) * | 2023-03-14 | 2023-06-13 | 格兰菲智能科技有限公司 | 时钟显示方法、装置、计算机设备、存储介质 |
CN117135256A (zh) * | 2023-04-06 | 2023-11-28 | 荣耀终端有限公司 | 一种数据处理方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115543514A (zh) | 指针显示方法、装置、芯片、电子表及可读存储介质 | |
CN112150490B (zh) | 图像检测方法、装置、电子设备和计算机可读介质 | |
CN110069191B (zh) | 基于终端的图像拖拽变形实现方法和装置 | |
CN111195909A (zh) | 机器人的舵机控制方法、装置、终端及计算机存储介质 | |
CN112597983B (zh) | 一种遥感图像中目标对象的识别方法及其存储介质和系统 | |
CN116503262A (zh) | 户型图的矢量化处理方法、装置和电子设备 | |
CN112150491B (zh) | 图像检测方法、装置、电子设备和计算机可读介质 | |
CN115129278A (zh) | 图像显示控制方法、系统、可读存储介质及电子设备 | |
CN110069195B (zh) | 图像拖拽变形方法和装置 | |
CN111553962A (zh) | 一种图表显示方法、系统及显示设备 | |
CN112337675B (zh) | 一种喷涂机器人喷涂控制方法、装置及电子设备 | |
CN110765238A (zh) | 数据加密查询方法及装置 | |
CN111854751B (zh) | 导航目标位置确定方法、装置、可读存储介质及机器人 | |
CN112200861B (zh) | 柱类型的确定方法和装置、存储介质及电子设备 | |
CN111290812B (zh) | 应用控件的显示方法、装置、终端及存储介质 | |
CN108196848B (zh) | 界面嵌入显示方法、装置、用户终端及可读存储介质 | |
CN110222777B (zh) | 图像特征的处理方法、装置、电子设备及存储介质 | |
CN111292245A (zh) | 图像处理方法和装置 | |
CN110189279B (zh) | 模型训练方法、装置、电子设备及存储介质 | |
CN114647721B (zh) | 教育智能机器人控制方法、设备及介质 | |
CN109324797B (zh) | 一种桌面图标生成方法、计算机可读存储介质及终端设备 | |
WO2024066890A1 (zh) | 视频降噪方法及装置、电子设备及计算机可读存储介质 | |
CN113535282B (zh) | 特效数据处理方法及装置 | |
CN112395826B (zh) | 文字特效处理方法及装置 | |
CN117055862A (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 |