CN104732570B - 一种图像生成方法及装置 - Google Patents
一种图像生成方法及装置 Download PDFInfo
- Publication number
- CN104732570B CN104732570B CN201510059993.4A CN201510059993A CN104732570B CN 104732570 B CN104732570 B CN 104732570B CN 201510059993 A CN201510059993 A CN 201510059993A CN 104732570 B CN104732570 B CN 104732570B
- Authority
- CN
- China
- Prior art keywords
- pixel point
- operation action
- height
- drawing elements
- value
- 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.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种图像生成方法及装置,用于模拟由绘制元素组成的图像(例如沙画图像)生成并显示的过程,该方法包括:记录绘制元素高度值对应的透明度以及色彩值;接收体感传感器采集的用户动作信息,根据用户动作信息确定手势类型,并查找获得手势类型对应的像素点作用区域;根据用户动作信息获得运动轨迹,将运动轨迹上各个像素点对应的像素点作用区域确定为操作作用区域;调整操作作用区域内各个像素点的绘制元素高度值,获得图像各个像素点对应的透明度以及色彩值;根据图像各个像素点对应的透明度以及色彩值对图像进行显示。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及一种图像生成方法及装置。
背景技术
目前,在日常生活中出现了一些使用颜料以外的其他物质进行绘画的方式,例如沙画师在沙画台的玻璃面上通过泼撒沙子进行作画,通过不同的表现手法呈现出各种不同的画面。但是,这些绘画方式通常依赖专业的设备,这些设备价格昂贵且占用空间,一般不适宜普通用户购买使用,使普通用户很难自行创作这类使用其他物质组成的绘画。在现有技术中,尚不存在使用软件方式模拟利用颜料以外的其他物质生成图像并显示的方法。
发明内容
有鉴于此,本发明提供一种图像生成方法及装置,以模拟利用一些特殊的绘制元素,例如沙粒等,进行图像生成并显示。
为解决上述问题,本发明提供的技术方案如下:
一种图像生成方法,记录绘制元素高度值对应的透明度以及色彩值;所述方法包括:
接收体感传感器采集的用户动作信息,根据所述用户动作信息确定手势类型,并查找获得所述手势类型对应的像素点作用区域;
根据所述用户动作信息获得运动轨迹,将所述运动轨迹上各个像素点对应的所述像素点作用区域确定为操作作用区域;
根据所述手势类型,调整所述操作作用区域内各个像素点的所述绘制元素高度值,获得图像各个像素点对应的透明度以及色彩值;
根据所述图像各个像素点对应的透明度以及色彩值对所述图像进行显示。
相应的,所述根据所述手势类型,调整所述操作作用区域内各个像素点的所述绘制元素高度值,包括:
当所述手势类型对应于增加绘制元素时,增加所述操作作用区域内各个像素点的所述绘制元素高度值;
当所述手势类型对应于变更绘制元素时,将所述操作作用区域划分为第一操作作用区域以及第二操作作用区域;将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和。
相应的,所述将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,包括:
计算所述第二操作作用区域内各个像素点到所述运动轨迹起点的距离;
将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第二操作作用区域内像素点到所述运动轨迹起点的距离与增加的所述绘制元素高度值成正比,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和。
相应的,在调整所述操作作用区域内各个像素点的所述绘制元素高度值之和之后,所述方法还包括:
计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值,当所述绘制元素高度值差值大于绘制元素坡度最大值时,降低所述操作作用区域边界上像素点的所述绘制元素高度值,增加与所述操作作用区域边界上像素点相邻的像素点的所述绘制元素高度值,并返回重新执行计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值及后续步骤。
相应的,所述根据所述用户动作信息获得运动轨迹,包括:
根据所述用户动作信息获取对应的骨骼信息,根据所述骨骼信息确定手掌位置,由所述手掌位置获得输入的运动轨迹。
一种图像生成装置,所述装置包括:
记录单元,用于记录绘制元素高度值对应的透明度以及色彩值;
第一确定单元,用于接收体感传感器采集的用户动作信息,根据所述用户动作信息确定手势类型,并查找获得所述手势类型对应的像素点作用区域;
获得单元,用于根据所述用户动作信息获得运动轨迹;
第二确定单元,用于将所述运动轨迹上各个像素点对应的所述像素点作用区域确定为操作作用区域;
第一调整单元,用于根据所述手势类型,调整所述操作作用区域内各个像素点的所述绘制元素高度值,获得图像各个像素点对应的透明度以及色彩值;
显示单元,用于根据所述图像各个像素点对应的透明度以及色彩值对所述图像进行显示。
相应的,所述第一调整单元包括:
第一调整子单元,用于当所述手势类型对应于增加绘制元素时,增加所述操作作用区域内各个像素点的所述绘制元素高度值;
划分子单元,用于当所述手势类型对应于变更绘制元素时,将所述操作作用区域划分为第一操作作用区域以及第二操作作用区域;
第二调整子单元,用于将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和;
获得子单元,用于获得图像各个像素点对应的透明度以及色彩值。
相应的,所述第二调整子单元具体用于:
计算所述第二操作作用区域内各个像素点到所述运动轨迹起点的距离;
将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第二操作作用区域内像素点到所述运动轨迹起点的距离与增加的所述绘制元素高度值成正比,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和。
相应的,所述装置还包括:
第二调整单元,用于计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值,当所述绘制元素高度值差值大于绘制元素坡度最大值时,降低所述操作作用区域边界上像素点的所述绘制元素高度值,增加与所述操作作用区域边界上像素点相邻的像素点的所述绘制元素高度值,并返回重新计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值。
相应的,所述获得单元具体用于:
根据所述用户动作信息获取对应的骨骼信息,根据所述骨骼信息确定手掌位置,由所述手掌位置获得输入的运动轨迹。
由此可见,本发明实施例具有如下有益效果:
本发明实施例记录绘制元素不同的高度值对应的透明度以及色彩值,通过分析用户输入的动作信息对图像相应位置像素点的绘制元素高度值进行调整,从而得到像素点的透明度以及色彩值,实现对图像的显示,算法简单易行,而无需专业设备以及实际的绘制元素进行绘制,即可以模拟获得各类由绘制元素组成的图像的效果,使普通用户也可以自行创作这类使用绘制元素组成的绘画,例如自行创作沙画图像。
附图说明
图1为本发明实施例中提供的图像生成方法实施例的流程图;
图2为本发明实施例中实现交互式沙画生成的示意图;
图3为本发明实施例中不同手势类型的示意图;
图4为本发明实施例中像素点作用区域以及操作作用区域关系的示意图;
图5为本发明实施例中调整绘制元素高度值的实例示意图;
图6为本发明实施例中提供的图像生成装置实施例的示意图;
图7为本发明实施例中提供的终端的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
本发明实施例将从图像生成装置的角度进行描述,该图像生成装置具体可以集成在客户端中,该客户端可以装载在终端中,该终端具体可以为智能手机、平板电脑、电子书阅读器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等。
参见图1所示,本发明实施例中提供的图像生成方法实施例可以包括以下步骤:
步骤101:记录绘制元素高度值对应的透明度以及色彩值。
本发明实施例中所生成的图像是由绘制元素组成的图像,例如沙画图像是由绘制元素沙粒组成的图像,雪地图像是由绘制元素雪花组成的图像等等。绘制元素不同的高度值可以对应于不同的透明度以及色彩值,可以预先通过采集不同高度的绘制元素对应的透明度、色彩值以获得绘制元素高度值与透明度、色彩值的对应关系。例如,绘制元素为沙粒时,沙粒高度越厚,则对应的透明度降低、色彩值加深,可以通过对不同厚度的沙粒进行拍照,通过数字图像处理技术获取不同厚度沙粒的透明度与色彩值。
步骤102:接收体感传感器采集的用户动作信息,根据用户动作信息确定手势类型,并查找获得手势类型对应的像素点作用区域。
用户可以通过非接触式方式隔空进行动作输入,用户的动作信息可以被体感传感器采集获得,用户动作信息可以用于进一步确定运动轨迹以及手势类型。在本实施例中,对根据用户动作信息确定手势类型的方式不进行限定,例如,可以对用户手部形状进行识别确定手势类型,也可以对用户手部所停留的位置进行识别确定手势类型等等。手势类型可以对应于增加绘制元素以及变更绘制元素,例如在绘制沙画时,手势类型为撒沙则对应于增加绘制元素,手势类型为绘制则对应于变更绘制元素,手势类型又可以根据手部绘制位置进行具体划分,例如手势类型被具体划分为指尖绘制、整手绘制、手掌绘制、手侧面绘制等等。
每种手势类型对应于不同的像素点作用区域,以模拟在实际绘画过程中的笔触形状,像素点作用区域可以为以一个像素点位置为中心的圆形、椭圆形、多边形等形状,手势类型对应的像素点作用区域可以通过采集分析不同手势类型所产生的实际笔触效果形状预先获得。
步骤103:根据用户动作信息获得运动轨迹,将运动轨迹上各个像素点对应的像素点作用区域确定为操作作用区域。
在本发明的一些实施例中,根据用户动作信息获得运动轨迹的具体实现可以包括:
根据用户动作信息获取对应的骨骼信息,根据骨骼信息确定手掌位置,由手掌位置获得输入的运动轨迹。
体感传感器例如Kinect可以为开发者传递深度数据流、彩色数据流和声音数据流等信息,利用用户开发接口可以根据用户动作信息获取用户的骨骼信息,从而依靠骨骼信息得到用户手掌位置以及手部运动轨迹。可以理解的是,运动轨迹由多个像素点组成,每个像素点均对应于一个像素点作用区域,这样运动轨迹上各个像素点对应的像素点作用区域共同组成操作作用区域。
步骤104:根据手势类型,调整操作作用区域内各个像素点的绘制元素高度值,获得图像各个像素点对应的透明度以及色彩值。
在本发明的一些实施例中,根据手势类型,调整操作作用区域内各个像素点的绘制元素高度值的具体实现可以包括:
当手势类型对应于增加绘制元素时,增加操作作用区域内各个像素点的绘制元素高度值。
也即当手势类型对应于增加绘制元素时,例如手势类型为撒沙时,则直接增加操作作用区域内各个像素点的绘制元素高度值,进而对应操作作用区域内像素点的透明度降低,颜色加深。
而当手势类型对应于变更绘制元素时,将操作作用区域划分为第一操作作用区域以及第二操作作用区域;将第一操作作用区域内各个像素点的绘制元素高度值清零,并增加第二操作作用区域内各个像素点的绘制元素高度值,第一操作作用区域内各个像素点在清零前的绘制元素高度值之和等于第二操作作用区域内各个像素点所增加的绘制元素高度值之和。
而在进行交互式绘制时,也即手势类型对应于变更绘制元素时,操作作用区域内像素点的绘制元素高度值随着手掌与画布接触部分的运动轨迹发生相应改变,但该过程中整个画布所有像素点的绘制元素高度值总和是不变的,按照该原理将操作作用区域划分为两部分,操作作用区域内部的像素点为第一操作作用区域,操作作用区域边缘上的像素点为第二操作作用区域。将第一操作作用区域内各个像素点的绘制元素高度值清零,并将这些被清零的像素点的绘制元素高度值转移到第二操作作用区域内各个像素点上,即第一操作作用区域内各个像素点在清零前的绘制元素高度值之和等于第二操作作用区域内各个像素点所增加的绘制元素高度值之和。
具体的,在本发明的一些实施例中,将第一操作作用区域内各个像素点的绘制元素高度值清零,并增加第二操作作用区域内各个像素点的绘制元素高度值的具体实现可以包括:
计算第二操作作用区域内各个像素点到运动轨迹起点的距离;
将第一操作作用区域内各个像素点的绘制元素高度值清零,并增加第二操作作用区域内各个像素点的绘制元素高度值,第二操作作用区域内像素点到运动轨迹起点的距离与增加的绘制元素高度值成正比,第一操作作用区域内各个像素点在清零前的绘制元素高度值之和等于第二操作作用区域内各个像素点所增加的绘制元素高度值之和。
由于累计效应,距离运动轨迹起点距离越远的像素点变化后的绘制元素高度值越高,因此,在增加第二操作作用区域内各个像素点的绘制元素高度值的过程中,可以计算第二操作作用区域内各个像素点到运动轨迹起点的距离,而第二操作作用区域内像素点到运动轨迹起点的距离与增加的绘制元素高度值成正比。
在步骤101中,已经记录有绘制元素高度值对应的透明度以及色彩值,在操作作用区域内各个像素点的绘制元素高度值改变之后,可以获得图像各个像素点对应的透明度以及色彩值。
步骤105:根据图像各个像素点对应的透明度以及色彩值对图像进行显示。
根据图像各个像素点对应的透明度以及色彩值可以实现对图像的显示,从而完成由绘制元素组成的图像的生成,例如完成沙画图像的生成。
另外,在本发明的一些实施例中,在调整操作作用区域内各个像素点的绘制元素高度值之和之后还可以包括:
计算操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值,当绘制元素高度值差值大于绘制元素坡度最大值时,降低操作作用区域边界上像素点的绘制元素高度值,增加与操作作用区域边界上像素点相邻的像素点的绘制元素高度值,并返回重新执行计算操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值及后续步骤。
也即在每次调整绘制元素高度值之后,可以进行平滑处理,是由于绘制元素在堆积的过程会存在一个最大坡度值,当超过这个最大坡度值则绘制元素会向相邻区域运动。可以预先测量获得绘制元素坡度最大值,判断操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值是否超过绘制元素坡度最大值,如果是,则需要降低操作作用区域边界上像素点的绘制元素高度值,同时增加与操作作用区域边界上像素点相邻的像素点的绘制元素高度值,以保证操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值小于或等于绘制元素坡度最大值。
这样,本发明实施例记录绘制元素不同的高度值对应的透明度以及色彩值,通过分析用户输入的动作信息对图像相应位置像素点的绘制元素高度值进行调整,从而得到像素点的透明度以及色彩值,实现对图像的显示,算法简单易行,而无需专业设备以及实际的绘制元素进行绘制,即可以模拟获得各类由绘制元素组成的图像的效果,使普通用户也可以自行创作这类使用绘制元素组成的绘画,例如自行创作沙画图像。
以下以绘制元素为沙粒为例,针对实际应用情况,再对本发明实施例中提供的图像生成方法进行说明,也即对沙画图像的生成方法进行说明,参见图2所示,是用户通过隔空操作生成沙画图像的示意图,具体方法可以包括:
(一)沙粒物理属性研究。
预先观察沙粒在绘制时的运动情况,利用数码相机对不同厚度的沙粒进行拍照,通过数字图像处理技术获取不同厚度沙粒的透明度与色彩值,也即不同沙粒高度值对应的透明度以及色彩值,并对测得的数据进行相应的量化。同时,使用精密仪器测量沙画中沙粒可堆积的沙粒最大坡度值,为后续步骤沙画模拟中沙粒的平滑处理做准备。
(二)沙画手势类型的分类。
对不同沙画手势类型进行分类,观察不同手势类型所产生的不同作用效果,以照片的形式记录这些手势类型所产生的作用形状(即反映在沙画模拟中的笔触形状),并将获取的形状转换为简单的多边形作为手势类型对应的像素点作用区域。
手势类型可以分为撒沙以及绘制,参见图3(a)-(d)所示,绘制的手势类型又可以具体划分为指尖绘制、整手绘制、手掌绘制、手侧面绘制等,每种手势类型对应于不同的像素点作用区域,例如指尖绘制的像素点作用区域为指尖大小的圆形等等。
(三)采集用户动作信息,确定手势类型以及运动轨迹。
体感传感器可以使用Kinect,Kinect是微软公司推出的一款体感周边外设,Kinect可以为开发者传递深度数据流、彩色数据流和声音数据流信息,利用Kinect用户开发接口可以获取用户的骨骼信息,从而依靠骨骼信息得到用户手掌位置和其手部挥动轨迹。例如在实际应用中,可以设计采用单手表示选择手势类型、双手进行绘画的方式对交互功能进行区分。用户左手放下并挥动右手可实现光标的移动,即当左手纵坐标小于该设定值时,认为用户左手放下,在右手所在坐标显示光标,若用户右手在某手势类型图标处悬停三秒及三秒以上,则确定使用该手势类型;用户举起左手并挥动右手,即用户左手纵坐标大于某设定值时,认为用户左手举起,则此时在右手所在坐标进行相应笔触的沙画绘制,并获取运动轨迹;用户双手同时向上挥表示“撤销”操作,同时向下挥表示“返回撤销前”操作,即当双手纵坐标在半秒钟内迅速增大时,认为用户双手上挥,当双手纵坐标在半秒钟内迅速下降时,认为用户双手向下挥。另外,在实际应用中,也可以通过对手部形状进行识别确定手势类型。
(四)沙粒高度值的定义。
在计算机中模拟沙粒的运动,可以将画布中的每一个像素点看作一个沙堆,每个沙堆拥有对应的沙粒高度值,在实际应用中可以利用二维数组H[x][y]来存储沙粒高度值,其中x、y分别表示像素点的横纵坐标。沙粒高度值越高则表示该像素点堆积的沙粒数目越多。根据对沙粒物理属性的研究结果,记录有不同高度的沙粒对应的不同的透明度与色彩值,从而使画布中各个像素点上的沙粒产生视觉上的立体感。
(五)确定操作作用区域。
用户在绘制沙画的过程中可以使用不同手势类型,每种手势类型对应有不同的像素点作用区域,即使用不同形状的笔触进行绘制或撒沙。在上述步骤中获取到用户手臂运动轨迹,该运动轨迹可以简化为一条曲线,那么操作作用区域就是这条运动轨迹上各个像素点的像素点作用区域的累加。
参见图4所示,以手势类型为整手绘制为例说明像素点作用区域以及操作作用区域的关系,图4(1)中示出了该手势类型对应的像素点作用区域,图4(2)则为沿箭头方向运动轨迹运动所形成的操作作用区域。
(六)撒沙与绘制效果的实现。
沙画技艺主要包括撒沙与绘制两种手势类型。其中撒沙手势类型可以看作是增加操作作用区域内各个像素点的沙粒高度值H[x][y],进而对应区域像素点的透明度降低,颜色加深。
而在进行交互式绘制时,操作作用区域内的各个像素点的沙粒高度值随着运动轨迹发生相应改变,但该过程中整个画布所有像素点的沙粒高度值总和是不变的,按照该原理可以将位于操作作用区域内部的像素点的沙粒高度值清零,并将这些被清零的像素点的沙粒高度值转移到操作作用区域边缘的像素点上。用欧式距离公式:
由于累计效应,距离运动轨迹起点越远的像素点变化后的沙粒高度值越高。因此,可以计算操作作用区域边缘上某像素点与运动轨迹起点像素的距离:
D[x][y]=sqrt((x-x0)2-(y-y0)2),其中x、y为该像素点的横纵坐标,x0、y0为运动轨迹起点的横纵坐标,D[x][y]为像素点与运动轨迹起点的距离。
则该像素点相应沙粒高度值变化可表示为:
ΔH[x][y]=Sum(ΔH)*D[x][y]/Sum(D),其中,ΔH[x][y]为该像素点沙粒高度值变化量,Sum(ΔH)为操作作用区域边缘上沙粒高度值变化量之和,即操作作用区域内部被清零的沙粒高度值之和,Sum(D)为操作作用区域边缘上各个像素点距离运动轨迹起点的距离之和。
参见图5所示,假设轨迹起点为(0,0),形成了虚线区域内的操作作用区域,在操作作用区域内部有6个像素点,假设每个像素点在绘制前沙粒高度值都为10,那么Sun(ΔH)即为60,D[4][3]为5,操作作用区域的边界像素点包括(0,0),(1,0),(2,0),(3,0),(4,0),(4,1),(4,2),(4,3),(3,3),(2,3),(1,3),(0,3),(0,2),(0,1),经计算Sum(D)为40.61.那么ΔH[4][3]=60*5/40.61≈7,即(4,3)像素点在经过调整后沙堆高度值增加7。
(七)沙粒运动平滑处理。
为了使沙粒在沙画绘制过程中平滑运动,会将某一区域相邻像素的沙粒高度值之差控制在一个合理的范围内,当某像素点沙粒突然增多(即沙粒高度值陡增),超过设定阈值时,则该像素点沙粒会向相邻区域滑落。据此原理,将一个像素点与其相邻像素点的沙粒高度值之差定义为沙粒坡度k,当k值大于沙粒坡度最大值时,沙粒会从高的沙堆逐渐滑向低的沙堆,直到沙堆坡度小于或等于k值,该过程称就为沙粒运动平滑处理。用户每进行一次绘制或撒沙操作,算法即对操作作用区域边界上像素点的沙粒进行一次平滑处理,直到边界及其相邻区域的像素的沙堆坡度均小于或等于k,从而得到一种沙粒随着手势自然流动的效果。另外,平滑处理的方向可以与运动轨迹方向有关,位于运动轨迹方向上的相邻点,沿运动轨迹方向并远离操作作用区域的方向进行平滑处理,位于运动轨迹切线方向上的相邻点,则沿垂直于运动轨迹方向并远离操作作用区域的方向进行平滑处理。k值计算公式:k=H[x][y]-H[a][b],a=x+1或x-1,b=y+1或y-1。
(八)沙画模拟实时显示。
可以利用显示器实时显示当前沙画绘制结果。例如可以将Kinect设备放置显示器下方,使用户在面对Kinect进行沙画绘制操作的同时可在显示器上看到当前的绘制结果,从而为用户提供良好的交互体验。
(九)Demo(样片)制作。
在用户实际模拟绘制沙画时,可以使用专业录屏软件录制沙画绘制过程在屏幕中的显示情况,将录制的视频素材进行剪辑,并可以加入系统实现原理的介绍等内容,最终制作出用于系统介绍和功能演示的Demo。
(十)算法测评。
在沙画模拟实现后,可以对沙画模拟生成系统进行评测,以调研此算法是否达到预期效果,并确定改进方案。首先,在用户使用沙画模拟生成系统时,记录对用户不同手势类型的识别能力,检测是否存在漏洞。其次,针对沙画绘制场景的真实感、沙画交互绘制效果以及Kinect交互的流畅性、准确性等问题进行综合评分,据此获得用户使用体验分析和改进意见。
这样,本实施例使用计算机模拟沙画效果,主要利用图像处理方式展现给用户逼真的沙画效果,而不需要使用任何真实的沙粒;采用非接触式方式,用户主要利用手臂挥动来实现沙画绘制,且用户无需学习铺沙、勾沙、漏沙等沙画专业手法,简单、容易、门槛低、易推广;体积小、易存放、成本适中,使普通用户也可以自行创作沙画图像。
相应的,参见图6所示,本发明实施例中还提供一种图像生成装置实施例,该装置实施例可以包括:
记录单元601,用于记录绘制元素高度值对应的透明度以及色彩值。
第一确定单元602,用于接收体感传感器采集的用户动作信息,根据用户动作信息确定手势类型,并查找获得手势类型对应的像素点作用区域。
获得单元603,用于根据用户动作信息获得运动轨迹。
在本发明的一些实施例中,获得单元603可以具体用于:
根据用户动作信息获取对应的骨骼信息,根据骨骼信息确定手掌位置,由手掌位置获得输入的运动轨迹。
第二确定单元604,用于将运动轨迹上各个像素点对应的像素点作用区域确定为操作作用区域。
第一调整单元605,用于根据手势类型,调整操作作用区域内各个像素点的绘制元素高度值,获得图像各个像素点对应的透明度以及色彩值。
在本发明的一些实施例中,第一调整单元605可以包括:
第一调整子单元,用于当手势类型对应于增加绘制元素时,增加操作作用区域内各个像素点的绘制元素高度值;
划分子单元,用于当手势类型对应于变更绘制元素时,将操作作用区域划分为第一操作作用区域以及第二操作作用区域;
第二调整子单元,用于将第一操作作用区域内各个像素点的绘制元素高度值清零,并增加第二操作作用区域内各个像素点的绘制元素高度值,第一操作作用区域内各个像素点在清零前的绘制元素高度值之和等于第二操作作用区域内各个像素点所增加的绘制元素高度值之和;
获得子单元,用于获得图像各个像素点对应的透明度以及色彩值。
其中,在本发明的一些实施例中,第二调整子单元可以具体用于:
计算第二操作作用区域内各个像素点到运动轨迹起点的距离;
将第一操作作用区域内各个像素点的绘制元素高度值清零,并增加第二操作作用区域内各个像素点的绘制元素高度值,第二操作作用区域内像素点到运动轨迹起点的距离与增加的绘制元素高度值成正比,第一操作作用区域内各个像素点在清零前的绘制元素高度值之和等于第二操作作用区域内各个像素点所增加的绘制元素高度值之和。
显示单元606,用于根据图像各个像素点对应的透明度以及色彩值对图像进行显示。
另外,在本发明的一些实施例中,还可以包括:
第二调整单元,用于计算操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值,当绘制元素高度值差值大于绘制元素坡度最大值时,降低操作作用区域边界上像素点的绘制元素高度值,增加与操作作用区域边界上像素点相邻的像素点的绘制元素高度值,并返回重新计算操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值。
这样,本发明实施例记录绘制元素不同的高度值对应的透明度以及色彩值,通过分析用户输入的动作信息对图像相应位置像素点的绘制元素高度值进行调整,从而得到像素点的透明度以及色彩值,实现对图像的显示,算法简单易行,而无需专业设备以及实际的绘制元素进行绘制,即可以模拟获得各类由绘制元素组成的图像的效果,使普通用户也可以自行创作这类使用绘制元素组成的绘画,例如自行创作沙画图像。
相应的,本发明实施例还提供一种终端,参见图7所示,可以包括:
处理器701、存储器702、输入装置703和输出装置704。终端中的处理器701的数量可以一个或多个,图7中以一个处理器为例。在本发明的一些实施例中,处理器701、存储器702、输入装置703和输出装置704可通过总线或其它方式连接,其中,图7中以通过总线连接为例。
存储器702可用于存储软件程序以及模块,处理器701通过运行存储在存储器702的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置703可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。
具体在本实施例中,处理器701会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器701来运行存储在存储器702中的应用程序,从而实现各种功能:
记录绘制元素高度值对应的透明度以及色彩值;
接收体感传感器采集的用户动作信息,根据所述用户动作信息确定手势类型,并查找获得所述手势类型对应的像素点作用区域;
根据所述用户动作信息获得运动轨迹,将所述运动轨迹上各个像素点对应的所述像素点作用区域确定为操作作用区域;
根据所述手势类型,调整所述操作作用区域内各个像素点的所述绘制元素高度值,获得图像各个像素点对应的透明度以及色彩值;
根据所述图像各个像素点对应的透明度以及色彩值对所述图像进行显示。
相应的,所述根据所述手势类型,调整所述操作作用区域内各个像素点的所述绘制元素高度值,包括:
当所述手势类型对应于增加绘制元素时,增加所述操作作用区域内各个像素点的所述绘制元素高度值;
当所述手势类型对应于变更绘制元素时,将所述操作作用区域划分为第一操作作用区域以及第二操作作用区域;将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和。
相应的,所述将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,包括:
计算所述第二操作作用区域内各个像素点到所述运动轨迹起点的距离;
将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第二操作作用区域内像素点到所述运动轨迹起点的距离与增加的所述绘制元素高度值成正比,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和。
相应的,调整所述操作作用区域内各个像素点的所述绘制元素高度值之和,所述方法还包括:
计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值,当所述绘制元素高度值差值大于绘制元素坡度最大值时,降低所述操作作用区域边界上像素点的所述绘制元素高度值,增加与所述操作作用区域边界上像素点相邻的像素点的所述绘制元素高度值,并返回重新执行计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值及后续步骤。
相应的,根据所述用户动作信息获得运动轨迹,包括:
根据所述用户动作信息获取对应的骨骼信息,根据所述骨骼信息确定手掌位置,由所述手掌位置获得输入的运动轨迹。
这样,本发明实施例记录绘制元素不同的高度值对应的透明度以及色彩值,通过分析用户输入的动作信息对图像相应位置像素点的绘制元素高度值进行调整,从而得到像素点的透明度以及色彩值,实现对图像的显示,算法简单易行,而无需专业设备以及实际的绘制元素进行绘制,即可以模拟获得各类由绘制元素组成的图像的效果,使普通用户也可以自行创作这类使用绘制元素组成的绘画,例如自行创作沙画图像。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种图像生成方法,其特征在于,记录绘制元素高度值对应的透明度以及色彩值;所述方法包括:
接收体感传感器采集的用户动作信息,根据所述用户动作信息确定手势类型,并查找获得所述手势类型对应的像素点作用区域;
根据所述用户动作信息获得运动轨迹,将所述运动轨迹上各个像素点对应的所述像素点作用区域确定为操作作用区域;
当所述手势类型对应于增加绘制元素时,增加所述操作作用区域内各个像素点的所述绘制元素高度值;当所述手势类型对应于变更绘制元素时,将所述操作作用区域划分为第一操作作用区域以及第二操作作用区域;将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和;获得图像各个像素点对应的透明度以及色彩值;
根据所述图像各个像素点对应的透明度以及色彩值对所述图像进行显示。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,包括:
计算所述第二操作作用区域内各个像素点到所述运动轨迹起点的距离;
将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第二操作作用区域内像素点到所述运动轨迹起点的距离与增加的所述绘制元素高度值成正比,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和。
3.根据权利要求1所述的方法,其特征在于,在调整所述操作作用区域内各个像素点的所述绘制元素高度值之和之后,所述方法还包括:
计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值,当所述绘制元素高度值差值大于绘制元素坡度最大值时,降低所述操作作用区域边界上像素点的所述绘制元素高度值,增加与所述操作作用区域边界上像素点相邻的像素点的所述绘制元素高度值,并返回重新执行计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值及后续步骤。
4.根据权利要求1所述的方法,其特征在于,所述根据所述用户动作信息获得运动轨迹,包括:
根据所述用户动作信息获取对应的骨骼信息,根据所述骨骼信息确定手掌位置,由所述手掌位置获得输入的运动轨迹。
5.一种图像生成装置,其特征在于,所述装置包括:
记录单元,用于记录绘制元素高度值对应的透明度以及色彩值;
第一确定单元,用于接收体感传感器采集的用户动作信息,根据所述用户动作信息确定手势类型,并查找获得所述手势类型对应的像素点作用区域;
获得单元,用于根据所述用户动作信息获得运动轨迹;
第二确定单元,用于将所述运动轨迹上各个像素点对应的所述像素点作用区域确定为操作作用区域;
第一调整单元,用于根据所述手势类型,调整所述操作作用区域内各个像素点的所述绘制元素高度值,获得图像各个像素点对应的透明度以及色彩值;
显示单元,用于根据所述图像各个像素点对应的透明度以及色彩值对所述图像进行显示;
所述第一调整单元包括:
第一调整子单元,用于当所述手势类型对应于增加绘制元素时,增加所述操作作用区域内各个像素点的所述绘制元素高度值;
划分子单元,用于当所述手势类型对应于变更绘制元素时,将所述操作作用区域划分为第一操作作用区域以及第二操作作用区域;
第二调整子单元,用于将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和;
获得子单元,用于获得图像各个像素点对应的透明度以及色彩值。
6.根据权利要求5所述的装置,其特征在于,所述第二调整子单元具体用于:
计算所述第二操作作用区域内各个像素点到所述运动轨迹起点的距离;
将所述第一操作作用区域内各个像素点的所述绘制元素高度值清零,并增加所述第二操作作用区域内各个像素点的所述绘制元素高度值,所述第二操作作用区域内像素点到所述运动轨迹起点的距离与增加的所述绘制元素高度值成正比,所述第一操作作用区域内各个像素点在清零前的所述绘制元素高度值之和等于所述第二操作作用区域内各个像素点所增加的所述绘制元素高度值之和。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二调整单元,用于计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值,当所述绘制元素高度值差值大于绘制元素坡度最大值时,降低所述操作作用区域边界上像素点的所述绘制元素高度值,增加与所述操作作用区域边界上像素点相邻的像素点的所述绘制元素高度值,并返回重新计算所述操作作用区域边界上像素点与相邻像素点的绘制元素高度值差值。
8.根据权利要求5所述的装置,其特征在于,所述获得单元具体用于:
根据所述用户动作信息获取对应的骨骼信息,根据所述骨骼信息确定手掌位置,由所述手掌位置获得输入的运动轨迹。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如权利要求1-4任一项所述的图像生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510059993.4A CN104732570B (zh) | 2015-02-04 | 2015-02-04 | 一种图像生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510059993.4A CN104732570B (zh) | 2015-02-04 | 2015-02-04 | 一种图像生成方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104732570A CN104732570A (zh) | 2015-06-24 |
CN104732570B true CN104732570B (zh) | 2019-12-10 |
Family
ID=53456438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510059993.4A Active CN104732570B (zh) | 2015-02-04 | 2015-02-04 | 一种图像生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104732570B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990840A (zh) * | 2017-03-27 | 2017-07-28 | 联想(北京)有限公司 | 控制方法和控制系统 |
CN107291360A (zh) * | 2017-07-03 | 2017-10-24 | 北京林业大学 | 构建沙画模拟系统的方法 |
CN108628455B (zh) * | 2018-05-14 | 2021-10-15 | 中北大学 | 一种基于触摸屏手势识别的虚拟沙画绘制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739701A (zh) * | 2009-12-31 | 2010-06-16 | 湖北莲花山计算机视觉和信息科学研究院 | 建立油画笔刷样本库的方法 |
CN101794454A (zh) * | 2010-04-08 | 2010-08-04 | 西安交通大学 | 一种基于图像的油画风格化方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8433138B2 (en) * | 2008-10-29 | 2013-04-30 | Nokia Corporation | Interaction using touch and non-touch gestures |
-
2015
- 2015-02-04 CN CN201510059993.4A patent/CN104732570B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739701A (zh) * | 2009-12-31 | 2010-06-16 | 湖北莲花山计算机视觉和信息科学研究院 | 建立油画笔刷样本库的方法 |
CN101794454A (zh) * | 2010-04-08 | 2010-08-04 | 西安交通大学 | 一种基于图像的油画风格化方法 |
Non-Patent Citations (2)
Title |
---|
《Animating Sand as a Surface Flow》;Bo Zhu,Xubo Yang;《EUROGRAPHICS》;20101231;第1-4页 * |
《以Kinect为人机互动媒介之沙画艺术作画系统》;陈凯民;《国立交通大学多媒体工程研究所硕士论文》;20131231;摘要,正文第25页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104732570A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11048333B2 (en) | System and method for close-range movement tracking | |
KR101979317B1 (ko) | 근접 범위 움직임 추적 시스템 및 방법 | |
JP5453246B2 (ja) | コンパクト・デバイスのためのカメラ・ベースのユーザ入力 | |
CN108292362A (zh) | 用于光标控制的手势识别 | |
US20130077820A1 (en) | Machine learning gesture detection | |
US20150058782A1 (en) | System and method for creating and interacting with a surface display | |
CN106325509A (zh) | 三维手势识别方法及系统 | |
KR20130088104A (ko) | 비접촉 방식의 인터페이스를 제공하기 위한 휴대 장치 및 방법 | |
JP2013037675A5 (zh) | ||
CN104407696B (zh) | 移动设备的虚拟球模拟及控制的方法 | |
CN104732570B (zh) | 一种图像生成方法及装置 | |
CN108628455B (zh) | 一种基于触摸屏手势识别的虚拟沙画绘制方法 | |
CN106293099A (zh) | 手势识别方法及系统 | |
CN110069126A (zh) | 虚拟对象的控制方法和装置 | |
Muller | Multi-touch displays: design, applications and performance evaluation | |
CN111258413A (zh) | 虚拟对象的控制方法和装置 | |
US9908050B2 (en) | System and method for image recognized content creation | |
Wang et al. | Virtual piano system based on monocular camera | |
Zhao et al. | Interaction in marker-less augmented reality based on hand detection using leap motion | |
TWI757871B (zh) | 基於影像的手勢控制方法與使用此方法的電子裝置 | |
CN110941974B (zh) | 虚拟对象的控制方法和装置 | |
Lin et al. | Uncle sand: A sand drawing application in ipad | |
CN116645495A (zh) | 虚拟化妆方法、装置及系统 | |
Birla et al. | TouchX—Mouse simulation using gestures on a virtual screen | |
Miloeski | Navidezni slikar za Android |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |