CN109146991B - 一种图片格式转换方法、装置、设备和存储介质 - Google Patents
一种图片格式转换方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN109146991B CN109146991B CN201810946755.9A CN201810946755A CN109146991B CN 109146991 B CN109146991 B CN 109146991B CN 201810946755 A CN201810946755 A CN 201810946755A CN 109146991 B CN109146991 B CN 109146991B
- Authority
- CN
- China
- Prior art keywords
- point
- picture
- points
- pixel
- bitmap
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/28—Quantising the image, e.g. histogram thresholding for discrimination between background and foreground patterns
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种图片格式转换方法、装置、设备和存储介质,涉及图片处理技术领域,该方法包括:获取位图图片的最佳阈值;根据所述最佳阈值将所述位图图片转换为二值化图片;查找二值化图片中各有色区域的轮廓点,生成可编辑图形,所述可编辑图形根据所述轮廓点确定。采用上述方法可以解决现有技术中将图片导入绘图软件后,不可进行编辑的技术问题,实现了基于不可编辑的位图格式的图片生成可编辑的矢量格式的图片,且矢量格式的图片可以认为是对位图图片的素描,即快速的完成了素描图片,同时,方便用户对图片进行二次操作,提升了用户的体验。
Description
技术领域
本发明实施例涉及图片处理技术领域,尤其涉及一种图片格式转换方法、装置、设备和存储介质。
背景技术
在使用绘图软件时,用户常常需要在软件内素描图片,如卡通人物等。为了保证素描准确性,用户通常会在软件内先导入一张用于素描参考的图片,然后,进行素描。然而,发明人在实践过程中发现,由于绘图软件本身的限制,导入通用格式的图片后,如JPG、GIF、TIF、BMP和PDF等格式的图片,虽然方便用户在各种环境下查看,但是图片的内容是不可进行编辑的,用户必须要基于导入的图片一笔一划地完成轮廓的素描,这样使得用户素描过程过于繁琐。
发明内容
有鉴于此,本发明实施例提供一种图片格式转换方法、装置、设备和存储介质,以解决现有技术中将图片导入绘图软件后,不可进行编辑的技术问题。
第一方面,本发明实施例提供了一种图片格式转换方法,包括:
获取位图图片的最佳阈值;
根据所述最佳阈值将所述位图图片转换为二值化图片;
查找二值化图片中各有色区域的轮廓点;
生成可编辑图形,所述可编辑图形根据所述轮廓点确定。
进一步的,所述根据所述最佳阈值将所述位图图片转换为二值化图片之前,包括:
获取所述位图图片中所有像素点的阈值;
所述根据所述最佳阈值将所述位图图片转换为二值化图片包括:
确定二值化图片中全部有色像素点,每个所述有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值小于或等于最佳阈值;
确定二值化图片中全部非有色像素点,每个所述非有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值大于最佳阈值;
生成二值化图片,所述二值化图片根据全部有色像素点和全部非有色像素点确定。
进一步的,所述查找二值化图片中各有色区域的轮廓点包括:
确定二值化图片中有色区域的起点位置;
以起点位置为中心点,查找第一设定方向上的第一相邻点;
将所述第一相邻点中的有色像素点作为新的中心点;
基于新的中心点,查找第二设定方向上的第二相邻点,所述第二设定方向是在第一设定方向中剔除原中心点所在方向后的方向;
若所述第二相邻点中存在非有色像素点,则将新的中心点作为轮廓点;
若所述第二相邻点中存在有色像素点,则将有色像素点作为新的中心点,返回基于新的中心点,查找第二设定方向上的第二相邻点的操作,直到遍历全部有色像素点为止。
进一步的,所述确定二值化图片中有色区域的起点位置包括:
选择所述二值化图片左上角的坐标点作为起始点;
由所述起始点开始,遍历所述二值化图片的各坐标点,其中,遍历顺序为先X轴后Y轴;
将遍历到的第一个目标点所在的位置作为起点位置,所述目标点是有色像素点且所述目标点在X轴正方向的相邻点为非有色像素点。
进一步的,所述第一设定方向包括东、西、南和北;
所述查找第一设定方向上的第一相邻点包括:
按照顺时针顺序,依次查找东、南、西和北四个方向上的第一相邻点。
进一步的,所述可编辑图形为可缩放矢量图形,
所述生成可编辑图形包括:
确定关键点及关键点属性,所述关键点及关键点属性根据所述轮廓点确定,所述关键点属性为线段顶点或贝塞尔曲线控制点;
将关键点转换为可缩放矢量图形可识别的path属性的值,所述path属性的值根据关键点属性以及所述关键点的坐标确定;
绘制可缩放矢量图形,所述可缩放矢量图形根据所述path属性的值确定。
进一步的,所述确定关键点及关键点属性包括:
生成轮廓点的坐标点集合;
确定坐标点集合中的直线坐标点集合,每个所述直线坐标点集合中各轮廓点连续且各轮廓点在X轴或Y轴上的坐标值相等;
确定坐标点集合中的曲线坐标点集合,每个所述曲线坐标点集合中各轮廓点连续且连续的轮廓点在X轴和Y轴上的坐标值均不相等;
筛选出直线型关键点,所述直线型关键点为所述直线坐标点集合中的两个顶点;
记录所述直线型关键点为线段顶点;
筛选出曲线型关键点,所述曲线型关键点是利用三次贝塞尔曲线对曲线坐标点集合组成的曲线进行反推后得到的;
记录所述曲线型关键点为贝塞尔曲线控制点。
进一步的,还包括:
获取所述位图图片中各像素点的像素值;
重合所述位图图片和所述二值化图片;
确定各封闭区域在所述位图图片中的像素值,所述各封闭区域为二值化图片中轮廓点所围成的非有色区域。
进一步的,所述生成可编辑图形之后,还包括:
填充所述可编辑图形,所述可编辑图形的填充颜色根据所述各封闭区域在所述位图图片中的像素值确定。
进一步的,所述生成可编辑图形之后,还包括:
保存所述可编辑图形。
进一步的,所述生成可编辑图形之后,还包括:
接收修改操作,所述修改操作作用于所述可编辑图形;
修改所述可编辑图形。
进一步的,所述获取位图图片的最佳阈值包括:
利用大津算法获取位图图片的最佳阈值,所述最佳阈值用于区分所述位图图片的前景图像和背景图像。
第二方面,本发明实施例还提供了一种图片格式转换装置,包括:
最佳阈值获取模块,用于获取位图图片的最佳阈值;
二值化图片转换模块,用于根据所述最佳阈值将所述位图图片转换为二值化图片;
轮廓点查找模块,用于查找二值化图片中各有色区域的轮廓点;
图形生成模块,用于生成可编辑图形,所述可编辑图形根据所述轮廓点确定。
第三方面,本发明实施例还提供一种图片格式转换设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的图片格式转换方法。
第四方面,本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的图片格式转换方法。
上述提供的一种图片格式转换方法、装置、设备和存储介质,通过获取用于区分位图图片的前景图像和背景图像的最佳阈值,根据最佳阈值将所述位图图片转换为二值化图片,查找二值化图片中各有色区域的轮廓点,并根据轮廓点生成可编辑图形的技术方案,解决了现有技术中将图片导入绘图软件后,不可进行编辑的技术问题,实现了基于不可编辑的位图格式的图片生成可编辑的矢量格式的图片,且矢量格式的图片可以认为是对位图图片的素描,即快速的完成了素描图片,同时,方便用户对图片进行二次操作,提升了用户的体验。
附图说明
图1是本发明实施例一提供的一种图片格式转换方法的流程图;
图2是待处理的位图图片示意图;
图3是位图图片经二值化处理后的效果示意图;
图4是本发明实施例二提供的一种图片格式转换方法的流程图;
图5是二值化图片局部区域中像素点坐标排布的示意图;
图6是二值化图片中提取关键点后的效果示意图;
图7是图片格式转换方法的另一流程图;
图8是本发明实施例三提供的一种图片格式转换装置的结构示意图
图9是本发明实施例四提供的一种图片格式转换设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种图片格式转换方法的流程图。本实施例提供的图片格式转换方法由图片格式转换设备执行,该图片格式转换设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该图片格式转换设备可以是电脑、手机、平板、投影仪或智能交互平板等。本实施例中,以智能交互平板为图片格式转换设备进行示例描述,其中,智能交互平板是通过触控技术对显示在显示平板上的内容进行操控和实现人机交互操作的一体化设备,其集成了投影机、电子白板、幕布、音响、电视机以及视频会议终端等多种功能。
在实施例中,智能交互平板安装有绘图软件,该绘图软件可以理解为书写编辑软件,例如电子白板软件,即该软件检测到用户对智能交互平板执行手写操作后,可以在对应的位置显示手写内容,同时,具有对手写内容的编辑功能,以使用户通过编辑功能对手写内容进行二次编辑。其中,手写操作为手写模式下,智能交互平板显示屏接收的触控操作。进一步的,该绘图软件可以预先安装在智能交互平板中,也可以是在智能交互平板启动图片格式转换应用时,从第三方设备或服务器进行下载并安装使用。其中,第三方设备在实施例中不作限定。具体的,该绘图软件可导入各种类型的图片,其具体的导入方式实施例不作限定。可以理解的是,在智能交互平板运行该绘图软件的场景下,智能交互平板可以执行实施例提供的图片格式转换方法。
具体的,参考图1,本实施例提供的图片格式转换方法具体包括以下步骤:
S110、获取位图图片的最佳阈值。
示例性的,位图图片也可以称为位图,其是由像素(Pixel)组成的,像素是位图最小的信息单元,存储在图像栅格中。其中,位图图片的格式可以为JPG、GIF、TIF、BMP或PDF等,实施例对此不作限定。具体的,将位图图片导入至绘图软件中,其具体的导入方式实施例不作限定,例如,通过插入功能,插入目标文件夹内的位图图片。此时,智能交互平板会将位图图片加载到内存中等待处理。需要说明的是,导入的位图图片可以是基于RGB分量的彩色图片,也可以是经过预处理的灰度图,该预处理可以为基于MATLAB算法的图像处理或者基于Photoshop软件等图像处理软件的图像处理。由于位图图片是以排列的像素集合体形式创建的,所以不能单独操作局部位图,因此,导入位图图片后,用户无法在绘图软件上对位图图片进行二次编辑。
其中,最佳阈值用于区分所述位图图片的前景图像和背景图像。当确定的图像二值化分割阈值为最佳阈值时,背景图像和前景图像之间的差别最大,此时背景图像和前景图像之间的类间方差也最大,以实现对图片的背景图像和前景图像的有效区分。进一步的,实施例中,利用大津算法获取位图图片的最佳阈值。大津算法,又称OTSU算法或最大类间方差法,是一种确定图像二值化分割阈值的算法,其计算简单且不受图像亮度和对比度的影响。大津算法是按照图像的灰度特性,将图像分成背景图像和前景图像两部分。具体的,遍历该位图图片的所有像素点的像素值,基于像素点的像素值以及像素点的位置确定各像素点的阈值,选择使背景图像和前景图像之间的类间方差最大的阈值作为最佳阈值,其中,前景图像为位图图片的用于表示物体特征的部分,背景图像为位图图片中用于表示物体特征的部分之外的图像部分。
S120、根据所述最佳阈值将所述位图图片转换为二值化图片。
示例性的,图像二值化处理是指将图像上的像素点的像素值设置为0或255,从而将整个图像呈现出明显的黑白效果的过程。二值化图片只有{0,255}两个灰度级,因此二值化图片比位图图片的数据量大大减少,从而更凸显出目标图像的轮廓。具体的,由于最佳阈值可以用于区分位图图片的前景图像和背景图像,因此,将位图图片中各像素点的阈值与最佳阈值进行比较,以确定各像素点属于前景部分还是背景部分。其中,当像素点的阈值大于最佳阈值,则确定其为背景部分,并将其像素值变为(255,255,255),即变为白色像素点。当像素点的阈值小于或等于最佳阈值,则确定其为前景部分,并将其像素值变为(0,0,0),即变为黑色像素点。其中,黑色像素点记为有色像素点。黑色像素点组成的区域可以理解为有色像素区域。据此,将位图图片中的全部像素点进行上述处理后,便可以将位图图片转换为二值化图片。
例如,图2是待处理的位图图片示意图,如图2所示,图中用于表示物体特征的部分,如衣服轮廓、手臂轮廓、裤子轮廓、眼睛、头发以及嘴巴等为前景图像,即图2中的黑色区域为前景部分。进一步的,确定位图图片的最佳阈值后,将位图图片转换为二值化图片。图3是位图图片经二值化处理后的效果示意图,由图3可知,二值化后的图片,仅包含黑色的用于表示物体特征的部分,以及其他的白色部分。得到二值化图片的好处是,便于后续仅对表示物体特征部分的像素点进行分析,不仅减小了数据处理量,还保证了准确度。
S130、查找二值化图片中各有色区域的轮廓点。
具体的,在二值化图片中,有色区域是指黑色区域,非有色区域是指白色区域。若黑色区域仅为一条直线或曲线,那么轮廓点可以是用于表示该直线或曲线的点,若黑色区域为一个闭合的区域,那么轮廓点可以是用于表示该的区域的边界线的点。例如,参考图3,此时,基于图3确定的轮廓点可以是用于表示头发、眉毛、眼睛轮廓的点,以及其他的黑色线条的点。
具体的,在确定轮廓点时,可以按照设定顺序遍历二值化图像中有色区域的全部坐标点,若某个坐标点在X轴或Y轴的相邻点中存在非有色区域的坐标点,那么可以确定该坐标点为轮廓点。其中,坐标点和相邻点之间的连线上没有其他的坐标点。
S140、生成可编辑图形。
其中,可编辑图形根据轮廓点确定。
具体的,可编辑图形是指可以由绘图软件识别并进行二次操作的图形,例如,绘图软件可以将可编辑图形拆分成多个区域且独立对每个区域进行操作。其中,操作可以是改变局部区域的颜色、移动局部区域的位置以及改变局部区域的大小等。一般而言,不同于位图图片,可编辑图形一般为矢量图形,本实施例中,矢量图形可以为可缩放矢量图形(Scalable Vector Graphics,SVG)。进一步的,可缩放矢量图形是通过path命令和参数实现对图片的编辑操作。
示例性的,基于查找出来的位图图片的轮廓点,将相邻轮廓点重新连接成线,组合成多个不同的区域,此时多个不同的区域各自独立,可实现图形的二次编辑。其中,在连接轮廓点时,可以是先确定连续的轮廓点组成的线条为直线还是曲线,进而确定各线条的关键点,例如线段的顶点、曲线的两个顶点及两个中间点。然后,将关键点转换成path属性的值,进而基于path属性的值对关键点进行连接,以得到可编辑图片。例如,参考图3,在连接轮廓点后,其围城的各区域均可以看作是独立的区域,例如人物中的上衣、裤子、左手、右手、左眼、右眼、左眉毛、右眉毛、嘴、脸庞和头发等均可看作是独立区域。进而,可以根据用户的实际需求,对各区域进行颜色填充、移动位置以及改变大小等操作。
本实施例提供的技术方案,通过利用大津算法获取用于区分位图图片的前景图像和背景图像的最佳阈值,根据最佳阈值将所述位图图片转换为二值化图片,查找二值化图片中各有色区域的轮廓点,并根据轮廓点生成可编辑图形的技术方案,解决了现有技术中将图片导入绘图软件后,不可进行编辑的技术问题,实现了基于不可编辑的位图格式的图片生成可编辑的矢量格式的图片,且矢量格式的图片可以认为是对位图图片的素描,即快速的完成了素描图片,同时,方便用户对图片进行二次操作,提升了用户的体验。
实施例二
图4是本发明实施例二提供的一种图片格式转换方法的流程图。本实施例是在上述实施例一的基础上进行具体化。参考图4,本实施例提供的图片格式转换的方法具体包括以下步骤:
S201、利用大津算法获取位图图片的最佳阈值。
利用大津算法获取位图图片的最佳阈值可以参照实施例中S110的相关描述,在此不作赘述。
S202、获取所述位图图片中所有像素点的阈值。
具体的,由于最佳阈值是基于所有像素点的阈值进行计算的,因为,在得到最佳阈值时,已经确定各个像素点的阈值。此步骤,仅需获取记录的阈值即可。可选的,基于大津算法确定最佳阈值时,各像素点的阈值计算方式实施例不作限定。例如,位图图片为彩色图片,将彩色的位图图片经过灰度化处理转换为灰度图,如采用转换公式Gray=0.3*R+0.59*G+0.11*B将彩色图转换为灰度图,例如,位图图片中一个像素点的RGB值是(254,100,76)则该像素点的灰度值为Gray(254,100,76)=0.3*254+0.59*100+0.11*76=144,此时该像素点上存在一个阈值,且该像素点的阈值为灰度值。
S203、确定二值化图片中全部有色像素点。
其中,每个所述有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值小于或等于最佳阈值。
具体的,将位图图片的所有像素点的阈值和最佳阈值作比较,若存在像素点的阈值小于或等于最佳阈值,则将像素点定义为有色像素点,此时,记录该像素点的坐标,并将该有色像素点的灰度值设为0,即黑色。
S204、确定二值化图片中全部非有色像素点。
其中,每个所述非有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值大于最佳阈值。
具体的,将位图图片的所有像素点的阈值和最佳阈值作比较,若存在像素点的阈值大于最佳阈值,则将像素点定义为非有色像素点,此时,记录该像素点的坐标,并将该非有色像素点的灰度值设为255,即白色。
可选的,按照位图图片的像素宽度和像素高度的关系建立二维数组,其中,像素宽度是指每行像素点的个数,像素高度是指像素点的行数,在二维数组中把所有像素点按照其在位图图片中的排列顺序依次存储在二维数组中,且记录各像素点为有色像素点或非有色像素点。例如,将非有色像素点赋予具体的定义符,如false,并存储在二维数组中该像素点的相应位置上。将有色像素点赋予具体的定义符,如true,并存储在二维数组中该像素点的相应位置上。
S205、生成二值化图片。
其中,二值化图片根据全部有色像素点和全部非有色像素点确定。
具体的,确定全部的有色像素点和非有色像素点后,可以将位图图片按照有色像素点和非有色像素点的位置和灰度值进行转换,以得到二值化图片。
S206、查找二值化图片中各有色区域的轮廓点。
具体的,该步骤具体包括:
S2061、确定二值化图片中有色区域的起点位置。
其中,有色区域的起点位置是指按照设定规则遍历二值化图片的像素点后,第一个满足起点位置条件的有色像素点。其中,设定规则可以是以二值化图片中的任一顶点作为起始点,按照先X轴方向,后Y轴方向,或者,按照先Y轴方向,后X轴方向进行扫描。其中,顶点可以是左上角点、左下角点、右上角点、右下角点或者二值化图片中任一子区域的顶点。进一步的,起点位置条件可以根据实际情况设定,例如按照扫描方向扫描到某个像素点为有色像素点,且基于该像素点扫描到的下一个相邻的像素点为非有色像素点。当某个有色像素点周围存在非有色像素点时,可以将该有色像素点确定为轮廓点,那么遍历到的第一个轮廓点便可以认为是有色区域的起点。
具体的,该步骤具体可以包括:选择所述二值化图片左上角的坐标点作为起始点;由所述起始点开始,遍历所述二值化图片的各坐标点,其中,遍历顺序为先X轴后Y轴;将遍历到的第一个目标点所在的位置作为起点位置,所述目标点是有色像素点且所述目标点在X轴正方向的相邻点为非有色像素点。
示例性的,图5是二值化图片局部区域中像素点坐标排布的示意图,以图5中所示的区域为待扫描区域为例进行描述,其中,如图5所示,二值化图片的局部区域中存在4*4个像素点,每个方框代表一个像素点,且在像素点内部写明了坐标点,其坐标分别为(1,1)、(1,2)、(1,3)、(1,4)、(2,1)、(2,2)、(2,3)、(2,4)、(3,1)、(3,2)、(3,3)、(3,4)、(4,1)、(4,2)、(4,3)、(4,4),且呈矩阵式排列。以二值化图片左上角的坐标(1,1)作为起始点,由该起始点(1,1)开始,遍历二值化图片的各坐标点,其中,遍历顺序为从起始点开始,逐行扫描,即先X轴后Y轴的顺序扫描,直至遍历到第一个目标点的位置满足起始点条件。该起始点条件为:该目标点为有色像素点且目标点在X轴正方向的相邻点为非有色像素点。例如,当扫描到像素点(2,3)时,像素点(2,3)为有色像素点且像素点(2,3)在X轴正方向的相邻像素点(2,4)为非有色像素点,则像素点(2,3)可以作为目标点。进一步的,将扫描到的第一个目标点所在的位置作为起点位置,例如,将像素点的坐标(2,3)作为起点位置。
S2062、以起点位置为中心,查找第一设定方向上的第一相邻点。
示例性的,所述第一设定方向包括东、西、南和北;所述查找第一设定方向上的第一相邻点包括:按照顺时针顺序,依次查找东、南、西和北四个方向上的第一相邻点。其中,将在第一设定方向上扫描到的像素点记为第一相邻点。第一相邻点可以有多个,优选为4个。可以理解的是,实际应用中,第一设定方向还可以包括其他的方向,或者选择其他的方向,且扫描顺序也可以为逆时针等其他内容。
S2063、将第一相邻点中的有色像素点作为新的中心点。
具体的,当第一相邻点中存在多个有色像素点,则将多个有色像素点均作为新的中心点,即新的中心点的数量可以不唯一。由于起始位置可以认为是连续轮廓点中的一个轮廓点的位置,那么基于起始位置确定的第一相邻点中包含至少一个有色像素点。
S2064、基于新的中心点,查找第二设定方向上的第二相邻点。执行S2065和S2068。
其中,第二设定方向是在第一设定方向中剔除原中心点所在方向后的方向。例如,第一设定方向包含东、南、西和北,且原中心点位于新的中心点的东方,那么,第二设定方向仅包括:南、西和北。以此实现扫描过程中的自适应变化。其中,原中心点与新的中心点相邻,且基于原中心点确定的新的中心点。
S2065、判断第二相邻点中是否存在非有色像素点,则执行S2066。否则,执行S2067。
具体的,确定第二相邻点的灰度值为0还是为255,以确定其是否为非有色像素点。
S2066、将新的中心点作为轮廓点。
示例性的,如果第二相邻点中存在非有色像素点,那么说明新的中心点周围存在白色的点,此时,可以认为新的中心点为轮廓点。按照这类方法便可以查找出全部轮廓点。
S2067、将新的中心点不作为轮廓点。
示例性的,如果第二相邻点中不存在非有色像素点,那么说明新的中心点周围全是黑色的点,此时,可以认为新的中心点不是轮廓点。
S2068、判断第二相邻点中是否存在有色像素点。若所述第二相邻点中存在有色像素点,则执行S2069。否则,执行S20611。
具体的,确定第二相邻点的灰度值为0还是为255,以确定其是否为有色像素点。
S2069、判断有色像素点是否为起始位置的点,若是,则执行S20611,否则,执行S20610、具体的,确定该有色像素点的坐标,并确认是否为起点位置。
S20610、将有色像素点作为新的中心点,并返回执行S2064。
示例性的,如果有色像素点的坐标不是起点位置,则说明还存在未遍历的有色像素点,则将该有色像素点作为新的中心点,以继续遍历。
S20611、结束。
具体的,如果第二相邻点中不存在有色像素点,那么当前连续的有色像素点已经全部被遍历到了,此时,可以结束本次遍历过程。或者是,如果第二相邻点中的有色像素点的位置为起始位置,那么说明已经完成了全部有色像素点的遍历,此时,可以结束本次遍历过程。
进一步的,结束本次遍历过程后,可以确定除去本次遍历的区域后,是否还能找到其他区域内存在有色区域的起点位置,如果能,那么基于起点位置再次执行本过程,直到找不到其他的有色区域的起点位置为止。
例如,以图5为例进行描述,若以像素点所在位置坐标(2,2)为起点位置,第一设定方向包括东、西、南和北四个方向,按照顺时针顺序,依次查找东、南、西和北四个方向上的第一相邻点,当第一设定方向处于向东方向,则查找向东方向上的第一相邻点为(2,3),第一设定方向处于向南方向,则查找向南方向上的第一相邻点为(3,2),第一设定方向处于向西方向,则查找向西方向上的第一相邻点为(2,1),第一设定方向处于向北方向,则查找向北方向上的第一相邻点为(1,2)。此后,可以向东方向的第一相邻点(2,3)为新的中心点,查找第二设定方向的第二相邻点,第二设定方向是在第一设定方向中剔除原中心点所在方向后的方向。示例性的,以第一相邻点(2,3)为新的中心点,原中心点(2,2)位于新的中心点(2,3)的向西方向,第二设定方向为剔除原中心点所在方向,即,此时的第二设定方向为相对于新的中心点(2,3)的向东、向南和向北方向,此时查找到的第二相邻点分别为(2,4)、(3,3)和(1,3)。同理,若以向南方向的第相邻点(3,2)为新的中心点,查找第二设定方向,即向东、向南和向西方向上的第二相邻点。若第二相邻点(2,4)、(3,3)或(1,3)中存在至少一个非有色像素点,则把该第一相邻点作为轮廓点,把有色像素点的第二相邻点作为新的中心点,重新执行“基于新的中心点,查找第二设定方向上的第二相邻点”的操作;若第二相邻点(2,4)、(3,3)和(1,3)中均存在有色像素点,则该第一相邻点不是轮廓点,此时则将该三个第二相邻点均作为新的中心点,分别重新执行“基于新的中心点,查找第二设定方向上的第二相邻点”的操作,直到遍历该位图图片的所有像素点,查找到各有色区域的轮廓点。
S207、确定关键点及关键点属性。
其中,关键点及关键点属性根据轮廓点确定,关键点属性为线段顶点或贝塞尔曲线控制点。
具体的,从轮廓点中进一步筛选出关键点。其中,该关键点为核心轮廓点,即对颜色区域轮廓的勾勒起到重要作用的轮廓点。该关键点属性根据轮廓点的属性确定,关键点属性为线段顶点或贝塞尔曲线控制点。当多个连续轮廓点组成的线型为线段类型时,可以将多个连续轮廓点的两个顶点认为是关键点,且关键属性为线段顶点,当多个连续轮廓点组成的线型为曲线类型时,可以依据多个连续轮廓点组成的曲线确定关键点。在实施例中,设定多个连续轮廓点组成的曲线为贝塞尔曲线,此时,确定关键点属性为贝塞尔曲线控制点。示例性的,图6是二值化图片中提取关键点后的效果示意图,图6示出了基于图3中的二值化图片进行处理后得到的关键点。如图6所示,相比于图3,连续的轮廓点中有些轮廓点被显示为白色,其可以认为是关键点。实际应用中,关键点可以用其他便于区分的颜色表示,例如黄色。需要说明的是,图3和图6仅是为了便于理解而增加的示例性说明,实际应用中,用户仅会看到加载位图图片,以及基于位图图片得到的可编辑图形。
具体的,步骤S207还可以进一步包括以下步骤:
S2071、生成轮廓点的坐标点集合。
可选的,根据加载到绘图软件中的位图图片的像素宽度和像素高度,确定各轮廓点在位图图片中的坐标,根据各轮廓点的坐标,将坐标连续的轮廓点归集到一起,并确定相应的坐标点集合。
S2072、确定坐标点集合中的直线坐标点集合。
其中,每个所述直线坐标点集合中各轮廓点连续且各轮廓点在X轴或Y轴上的坐标值相等。具体的,轮廓点连续是指两个轮廓点坐标连续。例如,存在M个连续的轮廓点,其中n个连续的轮廓点记为A1、A2……An,这n个点的横坐标或纵坐标的值相等,且An+1的轮廓点与前n个轮廓点在X轴和Y轴上的坐标值均不相等,此时,可判断A1、A2……An在X轴方向或Y轴方向上排列成一条直线,即A1、A2……An组成一个直线坐标点集合。按照上述方式可以确定坐标点集合中的全部直线坐标点集合。
S2073、确定所述坐标点集合中的曲线坐标点集合。
其中,每个所述曲线坐标点集合中各轮廓点连续且连续的轮廓点在X轴和Y轴上的坐标值均不相等。例如,M个连续的轮廓点,其中n个连续的轮廓点记为A1、A2……An,互相连续的点的横坐标和纵坐标的值均不相等,且An+1的轮廓点与第n个轮廓点在X轴或Y轴上的坐标值相等,则可判断A1、A2……An之间存在的线条为曲线,即A1、A2……An组成一个曲线坐标点集合。可选的,若n的数量较多,也可以将其拆分成多个曲线坐标点集合。按照上述方式可以确定坐标点集合中的全部曲线坐标点集合。
S2074、筛选出直线型关键点。
其中,直线型关键点为所述直线坐标点集合中的两个顶点。具体的,将直线坐标点集合中连续的轮廓点之间的连线类型记为Line,即一条线段。一般而言,明确线段的两个端点,便可以绘制一条直线,因此,确定关键点时,仅保留了每个直线坐标集合中的两个顶点。若该直线坐标集合中各坐标点在X轴上的坐标值相等,那么选择的两个顶点为直线坐标集合中Y轴上坐标值最大的点和坐标值最小的点。若该直线坐标集合中各坐标点在Y轴上的坐标值相等,选择方式与X轴相类似,在此不作赘述。例如,直线坐标集合包含n个连续的轮廓点,且依次记为A1、A2……An,此时,去除A2到An-1的所有点,只保留A1和An作为直线型关键点。
S2075、记录所述直线型关键点为线段顶点。
具体的,在记录过程中,将同一线段的两个直线型关键点关联记录,以保证在后续过程中,根据直线型关键点绘制直线。
S2076、筛选出曲线型关键点。
其中,曲线型关键点是利用三次贝塞尔曲线对曲线坐标点集合组成的曲线进行反推后得到的。
具体的,将曲线坐标点集合中连续的轮廓点之间的连线类型记为贝塞尔曲线。一般而言,通过控制贝塞尔曲线上的四个点(起点、终点以及两个相互分离的中间点)可以绘制出满足本实施例需求的全部曲线,其中,上述提及的四个点可以认为是贝塞尔曲线的控制点。实施例中,基于曲线坐标点集合中各轮廓点连线得到的曲线类型为贝塞尔曲线。之后,利用三次贝塞尔曲线对各轮廓点组成的曲线进行反推,以得到该曲线的曲线型关键点,即贝塞尔曲线的控制点。如果利用三次贝塞尔曲线对各轮廓点组成的曲线进行反推后,只能得到两个关键点,那么确定曲线坐标点集合组成的线条为斜线。
S2077、记录所述曲线型关键点为贝塞尔曲线控制点。
具体的,在记录过程中,将同一贝塞尔曲线的4个曲线型关键点关联记录,以保证在后续过程中,根据4个曲线型关键点绘制出该贝塞尔曲线。
需要说明的是,通过坐标点集合确定直线坐标点集合筛选出直线型关键点,以及确定曲线坐标点集合筛选出曲线型关键点的顺序可以改变,因此,步骤S2072-S2077的顺序可以改变。
S208、将关键点转换为可缩放矢量图形可识别的path属性的值。
其中,path属性的值根据关键点属性以及该关键点的坐标确定。
具体的,SVG是用于描述二维矢量图形的一种图形格式。path是用于绘制SVG基本形状中的一种元素,path的形状可通过属性定义,属性的值是一个“命令+参数”的序列,每一个命令都用一个关键字母来表示,比如,关键字母“L”表示“Line to”命令,表示画直线;关键字母“C”表示“Curve to”命令,表示画曲线;关键字母“M”表示“Move to”命令,表示移动;关键字母“H”表示“Horizontal Line to”命令,表示画水平线;关键字母“V”表示“Vertical Line to”命令,表示画垂直线;关键字母“S”表示“Smooth Curve to”命令,表示画光滑曲线;关键字母“Q”表示“Quadratic Belzier to”命令,表示画二次贝塞尔曲线;关键字母“T”表示“Smooth Quadratic Belzier to”命令,表示画光滑二次贝塞尔曲线;关键字母“A”表示“Elliptical Arc”命令,表示画椭圆弧线;关键字母“Z”表示“Close path”命令,表示关闭path。进一步的,假设path属性的值为“M10 10”,其中字母“M”表示的是“Moveto”命令,“M”后的“10 10”表示点(10,10),而path属性的值可解析为移动到点(10,10)。可以理解的是,该可缩放矢量图形中path属性的值与绘图软件所使用的path属性的值在结构上是一致,即该可缩放矢量图形可以被绘图软件识别。
具体的,根据关键点属性,如线段顶点或贝塞尔曲线控制点,以及关键点的坐标,将关键点转换为SVG格式可识别的path属性的值。
S209、绘制可缩放矢量图形。
其中,可缩放矢量图形根据path属性的值确定。
具体的,根据path属性的值执行“命令+参数”序列,可以根据关键点属性以及关键点的坐标,绘制出path属性的值所对应的可缩放矢量图形。例如,关键点A1和An的属性为直线,关键点A1的坐标为(10,90),关键点An的坐标为(10,50),通过命令“L”可在关键点A1和An之间画出一条直线,其中“L”表示“Line to”命令。可缩放矢量图形为线条组成的封闭式图形,各个封闭区域可以独立编辑,互不影响。
本实施例提供的技术方案,通过获取位图图片的最佳阈值,基于最佳阈值得到二值化图片中全部有色像素点和全部非有色像素点,进而生成二值化图片,查找二值化图片中各有色区域的轮廓点,基于轮廓点确定关键点及关键点属性,并将关键点转换为可缩放矢量图形可识别的path属性的值,进而绘制可缩放矢量图形的技术方案,解决了现有技术中将图片导入绘图软件后,不可进行编辑的技术问题,实现了基于不可编辑的位图格式的图片生成可编辑的矢量格式的图片,同时保证了矢量格式的图片的准确性,同时,方便用户对图片进行二次操作,提升了用户的体验。
在上述实施例的基础上,优选的,如图7所示,图片格式转换方法还包括:
S301、获取所述位图图片中各像素点的像素值。
具体的,根据导入的位图图片的像素宽度和像素高度,逐个扫描位图图片的所有像素点,获取各像素点的像素值,其中所述像素值为彩色图片RGB的像素值,数值范围为0~255。
可选的,将获取该位图图片的各像素点依次排序,并将各像素点的像素值按照各像素点的排列顺序依次存储在一维数组中,生成像素颜色数组。
S302、重合所述位图图片和所述二值化图片。
具体的,重合原始的位图图片和二值化图片是指将位图图片和二值化图片中同一坐标的像素点一一对应。例如,位图图片中位于(1,1)的像素点与二值化图片中位于(1,1)的像素点对应。
S303、确定各封闭区域在所述位图图片中的像素值,所述各封闭区域为二值化图片中轮廓点所围成的非有色区域。
其中,各封闭区域为二值化图片中轮廓点所围成的非有色区域。
具体的,根据重合的结果,可以确定二值化图片中各像素点在位图图片中对应位置的像素值。进一步的,基于二值化图片中的某些轮廓点,可以得到一个封闭区域,且该封闭区域内部的像素点均为非有色像素点。进一步的,该封闭区域在位图图片中是存在填充颜色的,例如,图3中的衣服在图2中对应的位置是存在填充颜色的。因此,根据重合结果可以确定各封闭区域在位图图片中填充颜色对应的像素值。
S304、填充所述可编辑图形。
其中,可编辑图形的填充颜色根据所述各封闭区域在所述位图图片中的像素值确定。具体的,确定封闭区域内部的像素值后,基于确定的像素值修改可编辑图形中,与封闭区域内部的像素点对应的像素点的像素值,以在可编辑图形的封闭区域内部填充颜色。
在上述实施例的基础上,可选的,图片格式转换方法还包括:在生成可编辑图形之后,保存所述可编辑图形。
具体的,在生成可编辑图形后,点击智能交互平板的保存按钮,可以保存该可编辑图形,其中,保存按钮的设定原则可以根据实际需求设定;或者,设置在设定的时间间隔后,自动保存该可编辑图形,该设定的时间间隔可以为1分钟。一般而言,可编辑图形的保存位置可以根据实际情况设定。设置保存可编辑图形的好处是,可以使用户在后续过程中,再次打开该可编辑图形进行编辑。
在上述实施例的基础上,可选的,图片格式转换方法还包括:在所述生成可编辑图形之后,接收修改操作,所述修改操作用作于所述可编辑图形;修改所述可编辑图形。
具体的,在生成可编辑图形后,还可对该可编辑图形进行再次的修改操作。其中,修改操作可以通过用户触控显示屏的方式实现,该修改操作包括:重新填充颜色、改变可编辑图形的局部大小、删除可编辑图形、缩放可编辑图形以及移动可编辑图形的位置等。进一步的,当接收到修改操作后,触发相应的修改指令,以完成对可编辑图形的修改。可选的,保存修改后的可编辑图形。
实施例三
图8是本发明实施例三提供的一种图片格式转换的装置的结构示意图。本实施例提供的图片格式转换的装置可以集成在图片格式转换设备中,该图片格式转换设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,该图片格式转换设备可以是电脑、手机、平板、投影仪或交互智能平板等。参考图8,本实施例提供的图片格式转换装置具体包括:最佳阈值获取模块510、二值化图片转换模块520、轮廓点查找模块530和图形生成模块540。
其中,最佳阈值获取模块510,获取位图图片的最佳阈值;二值化图片转换模块520,用于根据所述最佳阈值将所述位图图片转换为二值化图片;轮廓点查找模块530,用于查找二值化图片中各有色区域的轮廓点;图形生成模块540,用于生成可编辑图形,所述可编辑图形根据所述轮廓点确定。
本实施例提供的技术方案,通过获取位图图片的最佳阈值,根据最佳阈值将所述位图图片转换为二值化图片,查找二值化图片中各有色区域的轮廓点,并根据轮廓点生成可编辑图形的技术方案,解决了现有技术中将图片导入绘图软件后,不可进行编辑的技术问题,实现了基于不可编辑的位图格式的图片生成可编辑的矢量格式的图片,且矢量格式的图片可以认为是对位图图片的素描,即快速的完成了素描图片,同时,方便用户对图片进行二次操作,提升了用户的体验。
在上述实施例的基础上,该图片格式转换装置还包括:像素点阈值获取模块,用于获取所述位图图片中所有像素点的阈值;二值化图片转换模块520包括:有色像素点确定单元,用于确定二值化图片中全部有色像素点,每个所述有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值小于或等于最佳阈值;非有色像素点确定单元,用于确定二值化图片中全部非有色像素点,每个所述非有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值大于最佳阈值;二值化图片生成单元,用于生成二值化图片,所述二值化图片根据全部有色像素点和全部非有色像素点确定。
在上述实施例的基础上,轮廓点查找模块530包括:起点位置确定单元,用于确定二值化图片中有色区域的起点位置;第一相邻点查找单元,用于以起点位置为中心点,查找第一设定方向上的第一相邻点;新中心点确定单元,用于将第一相邻点中的有色像素点作为新的中心点;第二相邻点查找单元,用于基于新的中心点,查找第二设定方向上的第二相邻点,所述第二设定方向是在第一设定方向中剔除原中心点所在方向后的方向;轮廓点查找单元,用于若第二相邻点中存在非有色像素点,则将新的中心点作为轮廓点;若第二相邻点中存在有色像素点,则将有色像素点作为新的中心点,返回基于新的中心点,查找第二设定方向上的第二相邻点的操作,直到遍历全部有色像素点为止。
在上述实施例的基础上,起点位置确定单元包括:起始点选择子单元,用于选择所述二值化图片左上角的坐标点作为起始点;遍历子单元,由所述起始点开始,遍历所述二值化图片的各坐标点,其中,遍历顺序为先X轴后Y轴;起点位置获取子单元,用于将遍历到的第一个目标点所在的位置作为起点位置,所述目标点是有色像素点且所述目标点在X轴正方向的相邻点为非有色像素点。
其中,所述第一设定方向包括东、西、南和北;所述查找第一设定方向上的第一相邻点包括:按照顺时针顺序,依次查找东、南、西和北四个方向上的第一相邻点。
在上述实施例的基础上,所述可编辑图形为可缩放矢量图形,图形生成模块540包括:确定单元,用于确定关键点及关键点属性,所述关键点及关键点属性根据所述轮廓点确定,所述关键点属性为线段顶点或贝塞尔曲线控制点;转换单元,用于将关键点转换为可缩放矢量图形可识别的path属性的值,所述path属性的值根据关键点属性以及所述关键点的坐标确定;可缩放矢量图形绘制单元,用于绘制可缩放矢量图形,所述可缩放矢量图形根据所述path属性的值确定。
在上述实施例的基础上,确定单元包括:坐标点集合生成子单元,用于生成轮廓点的坐标点集合;直线坐标点集合确定子单元,用于确定坐标点集合中的直线坐标点集合,每个所述直线坐标点集合中各轮廓点连续且各轮廓点在X轴或Y轴上的坐标值相等;曲线坐标点集合确定子单元,用于确定坐标点集合中的曲线坐标点集合,每个所述曲线坐标点集合中各轮廓点连续且连续的轮廓点在X轴和Y轴上的坐标值均不相等;直线型关键点筛选子单元,用于筛选出直线型关键点,所述直线型关键点为所述直线坐标点集合中的两个顶点;线段顶点记录子单元,用于记录所述直线型关键点为线段顶点;曲线型关键点筛选子单元,用于筛选出曲线型关键点,所述曲线型关键点是利用三次贝塞尔曲线对曲线坐标点集合组成的曲线进行反推后得到的;曲线控制点记录子单元,用于记录所述曲线型关键点为贝塞尔曲线控制点。
在上述实施例的基础上,图片格式转换装置还包括:图片像素值获取模块,用于获取所述位图图片中各像素点的像素值;重合模块,用于重合所述位图图片和所述二值化图片;封闭区域像素值确定模块,用于确定各封闭区域在所述位图图片中的像素值,所述各封闭区域为二值化图片中轮廓点所围成的非有色区域。
在上述实施例的基础上,图片格式转换装置还包括:填充模块,用于填充所述可编辑图形,所述可编辑图形的填充颜色根据所述各封闭区域在所述位图图片中的像素值确定。
在上述实施例的基础上,图片格式转换装置还包括:保存模块,用于保存所述可编辑图形。
在上述实施例的基础上,图片格式转换装置还包括:修改操作接收模块,用于接收修改操作,所述修改操作作用于所述可编辑图形;修改模块,用于修改所述可编辑图形。
本实施例提供的图片格式转换装置可用于执行上述任意实施例提供的图片格式转换方法,且具备相应的功能和有益效果。
实施例四
图9是本发明实施例四提供的一种图片格式转换设备的结构示意图。如图9所示,该图片格式转换设备包括:处理器60、存储器61、具有触摸功能的显示屏62、输入装置63、输出装置64以及通信装置65。该图片格式转换设备中处理器60的数量可以是一个或者多个,图9中以一个处理器60为例。该图片格式转换设备中存储器61的数量可以是一个或者多个,图9中以一个存储器61为例。该图形格式转换设备的处理器60、存储器61、显示屏62、输入装置63、输出装置64以及通信装置65可以通过总线或者其他方式连接,图9中以通过总线连接为例。实施例中,图片格式转换设备可以是电脑,手机,平板,投影仪或交互智能平板等。实施例中,以图片格式转换设备为交互智能平板为例,进行描述。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的图片格式转换的方法对应的程序指令/模块(例如,图片格式转换装置中的最佳阈值获取模块510、二值化图片转换模块520、轮廓点查找模块530和图形生成模块540)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的图片格式转换方法。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
显示屏62为具有触摸功能的显示屏62,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏62用于根据处理器60的指示显示数据,还用于接收作用于显示屏62的触摸操作,并将相应的信号发送至处理器60或其他装置。可选的,当显示屏62为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏62的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器60或者其他设备。
通信装置65,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。
输入装置63可用于接收输入的数字或者字符信息,以及产生与图片格式转换设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置64可以包括扬声器等音频设备。需要说明的是,输入装置63和输出装置64的具体组成可以根据实际情况设定。
上述提供的图片格式转换设备可用于执行上述任意实施例提供的图片格式转换方法,具备相应的功能和有益效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种图片格式转换的方法,包括:
获取位图图片的最佳阈值;
根据所述最佳阈值将所述位图图片转换为二值化图片;
查找二值化图片中各有色区域的轮廓点;
生成可编辑图形,所述可编辑图形根据所述轮廓点确定。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的图形格式转换方法操作,还可以执行本发明任意实施例所提供的图形格式转换方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例所述的图片格式转换方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (14)
1.一种图片格式转换方法,其特征在于,包括:
获取位图图片的最佳阈值;
根据所述最佳阈值将所述位图图片转换为二值化图片;
查找二值化图片中各有色区域的轮廓点;
生成可编辑图形,所述可编辑图形根据所述轮廓点确定;
其中,所述查找二值化图片中各有色区域的轮廓点包括:
确定二值化图片中有色区域的起点位置;
以起点位置为中心点,查找第一设定方向上的第一相邻点;
将所述第一相邻点中的有色像素点作为新的中心点;
基于新的中心点,查找第二设定方向上的第二相邻点,所述第二设定方向是在第一设定方向中剔除原中心点所在方向后的方向;
若所述第二相邻点中存在非有色像素点,则将新的中心点作为轮廓点;
若所述第二相邻点中存在有色像素点,则将有色像素点作为新的中心点,返回基于新的中心点,查找第二设定方向上的第二相邻点的操作,直到遍历全部有色像素点为止;
其中,所述新的中心点的数量不唯一。
2.根据权利要求1所述的图片格式转换方法,其特征在于,所述根据所述最佳阈值将所述位图图片转换为二值化图片之前,包括:
获取所述位图图片中所有像素点的阈值;
所述根据所述最佳阈值将所述位图图片转换为二值化图片包括:
确定二值化图片中全部有色像素点,每个所述有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值小于或等于最佳阈值;
确定二值化图片中全部非有色像素点,每个所述非有色像素点在所述位图图片中存在对应的像素点,且对应的像素点的阈值大于最佳阈值;
生成二值化图片,所述二值化图片根据全部有色像素点和全部非有色像素点确定。
3.根据权利要求1所述的图片格式转换方法,其特征在于,所述确定二值化图片中有色区域的起点位置包括:
选择所述二值化图片左上角的坐标点作为起始点;
由所述起始点开始,遍历所述二值化图片的各坐标点,其中,遍历顺序为先X轴后Y轴;
将遍历到的第一个目标点所在的位置作为起点位置,所述目标点是有色像素点且所述目标点在X轴正方向的相邻点为非有色像素点。
4.根据权利要求1所述的图片格式转换方法,其特征在于,所述第一设定方向包括东、西、南和北;
所述查找第一设定方向上的第一相邻点包括:
按照顺时针顺序,依次查找东、南、西和北四个方向上的第一相邻点。
5.根据权利要求1所述的图片格式转换方法,其特征在于,所述可编辑图形为可缩放矢量图形,
所述生成可编辑图形包括:
确定关键点及关键点属性,所述关键点及关键点属性根据所述轮廓点确定,所述关键点属性为线段顶点或贝塞尔曲线控制点;
将关键点转换为可缩放矢量图形可识别的path属性的值,所述path属性的值根据关键点属性以及所述关键点的坐标确定;
绘制可缩放矢量图形,所述可缩放矢量图形根据所述path属性的值确定。
6.根据权利要求5所述的图片格式转换方法,其特征在于,所述确定关键点及关键点属性包括:
生成轮廓点的坐标点集合;
确定坐标点集合中的直线坐标点集合,每个所述直线坐标点集合中各轮廓点连续且各轮廓点在X轴或Y轴上的坐标值相等;
确定坐标点集合中的曲线坐标点集合,每个所述曲线坐标点集合中各轮廓点连续且连续的轮廓点在X轴和Y轴上的坐标值均不相等;
筛选出直线型关键点,所述直线型关键点为所述直线坐标点集合中的两个顶点;
记录所述直线型关键点为线段顶点;
筛选出曲线型关键点,所述曲线型关键点是利用三次贝塞尔曲线对曲线坐标点集合组成的曲线进行反推后得到的;
记录所述曲线型关键点为贝塞尔曲线控制点。
7.根据权利要求1所述的图片格式转换方法,其特征在于,还包括:
获取所述位图图片中各像素点的像素值;
重合所述位图图片和所述二值化图片;
确定各封闭区域在所述位图图片中的像素值,所述各封闭区域为二值化图片中轮廓点所围成的非有色区域。
8.根据权利要求7所述的图片格式转换方法,其特征在于,所述生成可编辑图形之后,还包括:
填充所述可编辑图形,所述可编辑图形的填充颜色根据所述各封闭区域在所述位图图片中的像素值确定。
9.根据权利要求1所述的图片格式转换方法,其特征在于,所述生成可编辑图形之后,还包括:
保存所述可编辑图形。
10.根据权利要求1所述的图片格式转换方法,其特征在于,所述生成可编辑图形之后,还包括:
接收修改操作,所述修改操作作用于所述可编辑图形;
修改所述可编辑图形。
11.根据权利要求1所述的图片格式转换方法,其特征在于,所述获取位图图片的最佳阈值包括:
利用大津算法获取位图图片的最佳阈值,所述最佳阈值用于区分所述位图图片的前景图像和背景图像。
12.一种图片格式转换装置,其特征在于,包括:
最佳阈值获取模块,用于获取位图图片的最佳阈值;
二值化图片转换模块,用于根据所述最佳阈值将所述位图图片转换为二值化图片;
轮廓点查找模块,用于查找二值化图片中各有色区域的轮廓点;
图形生成模块,用于生成可编辑图形,所述可编辑图形根据所述轮廓点确定;
其中,所述轮廓点查找模块包括:
起点位置确定单元,用于确定二值化图片中有色区域的起点位置;
第一相邻点查找单元,用于以起点位置为中心点,查找第一设定方向上的第一相邻点;
新中心点确定单元,用于将第一相邻点中的有色像素点作为新的中心点;
第二相邻点查找单元,用于基于新的中心点,查找第二设定方向上的第二相邻点,所述第二设定方向是在第一设定方向中剔除原中心点所在方向后的方向;
轮廓点查找单元,用于若第二相邻点中存在非有色像素点,则将新的中心点作为轮廓点;若第二相邻点中存在有色像素点,则将有色像素点作为新的中心点,返回基于新的中心点,查找第二设定方向上的第二相邻点的操作,直到遍历全部有色像素点为止;
其中,所述新的中心点的数量不唯一。
13.一种图片格式转换设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-11中任一所述的图片格式转换方法。
14.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-11中任一所述的图片格式转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810946755.9A CN109146991B (zh) | 2018-08-20 | 2018-08-20 | 一种图片格式转换方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810946755.9A CN109146991B (zh) | 2018-08-20 | 2018-08-20 | 一种图片格式转换方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109146991A CN109146991A (zh) | 2019-01-04 |
CN109146991B true CN109146991B (zh) | 2023-05-05 |
Family
ID=64790300
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810946755.9A Active CN109146991B (zh) | 2018-08-20 | 2018-08-20 | 一种图片格式转换方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109146991B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909602A (zh) * | 2019-10-21 | 2020-03-24 | 广联达科技股份有限公司 | 一种二维矢量图子域识别方法及装置 |
CN111080732B (zh) * | 2019-11-12 | 2023-09-22 | 望海康信(北京)科技股份公司 | 用于形成虚拟地图的方法及系统 |
CN111131744B (zh) * | 2019-12-26 | 2021-04-20 | 杭州当虹科技股份有限公司 | 一种基于视频通讯隐私保护的方法 |
CN111507352B (zh) * | 2020-04-16 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、计算机设备以及存储介质 |
CN111951352A (zh) * | 2020-08-11 | 2020-11-17 | 深圳市前海手绘科技文化有限公司 | 一种基于位图的手绘素材生成方法 |
CN113139895A (zh) * | 2021-04-29 | 2021-07-20 | 广州亿航智能技术有限公司 | 无人机编队表演阵型图的设计方法、终端及存储介质 |
CN114119427B (zh) * | 2022-01-28 | 2022-05-27 | 深圳市明源云科技有限公司 | 图片转换方法、装置、设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154269A (zh) * | 2006-09-27 | 2008-04-02 | 北京数字方舟信息技术有限公司 | 基于边界探测的新型多阀值分析人像轮廓跟踪方法 |
CN101261685A (zh) * | 2008-01-31 | 2008-09-10 | 浙江工业大学 | 基于图像矢量化技术的服装样片自动录入装置 |
-
2018
- 2018-08-20 CN CN201810946755.9A patent/CN109146991B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101154269A (zh) * | 2006-09-27 | 2008-04-02 | 北京数字方舟信息技术有限公司 | 基于边界探测的新型多阀值分析人像轮廓跟踪方法 |
CN101261685A (zh) * | 2008-01-31 | 2008-09-10 | 浙江工业大学 | 基于图像矢量化技术的服装样片自动录入装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109146991A (zh) | 2019-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109146991B (zh) | 一种图片格式转换方法、装置、设备和存储介质 | |
JP6636154B2 (ja) | 顔画像処理方法および装置、ならびに記憶媒体 | |
KR102304674B1 (ko) | 얼굴 표정 합성 방법과 장치, 전자 기기, 및 저장 매체 | |
CN109064525B (zh) | 一种图片格式转换方法、装置、设备和存储介质 | |
US10489970B2 (en) | 2D image processing for extrusion into 3D objects | |
JP2024500555A (ja) | 画像処理方法、画像処理装置及び非一時的な記憶媒体 | |
CN108932053B (zh) | 基于手势的绘图方法、装置、存储介质和计算机设备 | |
US10204447B2 (en) | 2D image processing for extrusion into 3D objects | |
CN107943363B (zh) | 背景图像的配置方法及装置、交互智能平板及存储介质 | |
JP2007087346A (ja) | 情報処理装置及びその制御方法、コンピュータプログラム、記憶媒体 | |
US11386587B2 (en) | Automatic coloring of line drawing | |
CN111652791B (zh) | 人脸的替换显示、直播方法、装置、电子设备和存储介质 | |
CN111461070B (zh) | 文本识别方法、装置、电子设备及存储介质 | |
CN109448093B (zh) | 一种风格图像生成方法及装置 | |
CN111652795A (zh) | 脸型的调整、直播方法、装置、电子设备和存储介质 | |
CN110533742B (zh) | 一种图像填色方法、装置、设备及存储介质 | |
CN111652025B (zh) | 一种人脸的处理、直播方法、装置、电子设备和存储介质 | |
CN111652022B (zh) | 图像数据的显示、直播方法、装置、电子设备和存储介质 | |
US20230222736A1 (en) | Methods and systems for interacting with 3d ar objects from a scene | |
JP2010028429A (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN111107264A (zh) | 图像处理方法、装置、存储介质以及终端 | |
CN109509237B (zh) | 滤镜处理的方法、装置及电子设备 | |
CN116977539A (zh) | 图像处理方法、装置、计算机设备、存储介质和程序产品 | |
CN111652023B (zh) | 嘴型的调整、直播方法、装置、电子设备和存储介质 | |
CN111651033B (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 |