CN108460369A - 一种基于机器视觉的绘图方法及*** - Google Patents
一种基于机器视觉的绘图方法及*** Download PDFInfo
- Publication number
- CN108460369A CN108460369A CN201810297791.7A CN201810297791A CN108460369A CN 108460369 A CN108460369 A CN 108460369A CN 201810297791 A CN201810297791 A CN 201810297791A CN 108460369 A CN108460369 A CN 108460369A
- Authority
- CN
- China
- Prior art keywords
- image
- stroke
- robotary
- original static
- variable
- 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
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/003—Manipulators for entertainment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- 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/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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/30—Noise filtering
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40083—Pick up pen and robot hand writing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Orthopedic Medicine & Surgery (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种基于机器视觉的绘图方法及***,包括:步骤S100采集待绘制内容的原始静态图像;步骤S200对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据;步骤S300根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表;步骤S400根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列;步骤S500根据所述运动消息序列,执行绘图动作。本发明通过采集用户所绘画的内容、提取笔画数据后绘制,让机器人实时分析和模仿,从而实现个性化的笔迹模仿,具有更强的交互性。
Description
技术领域
本发明涉及机器人领域,尤指一种基于机器视觉的绘图方法及***。
背景技术
随着机器人技术飞速发展,特别是机器视觉、精密控制等技术的发展,使机器人更加智能,也能适应更多的工作,因此目前机器人不仅在工业上广泛应用,在消费领域也越来越普及,例如在家庭陪护、实践教学、科技展览等领域都有涉及。
在消费级机器人领域,机器人的应用也越来越丰富,甚至可以做到“琴棋书画”样样精通。对于含有操作臂的机器人,控制其“写字”和“绘画”是常见的应用场景。
现有技术是基于预处理技术实现书写或绘制预设的内容。首先利用TTF字库,提取要书写的汉字的轮廓点,并把轮廓转换成样条曲线,然后后台处理这些曲线并转换成机械臂的末端轨迹,最后控制机械臂按照预设好的轨迹运行从而实现机械臂的写字功能。该方法的缺点是:1、只能书写汉字,不能画简图;2、需要提前预置标准字库,只能处理标准字体,无法实现非标准、个性化的字体。
发明内容
本发明的目的是提供一种基于机器视觉的绘图方法及***,通过采集用户所绘画的内容、提取笔画数据后绘制,让机器人实时分析和模仿,从而实现个性化的笔迹模仿,具有更强的交互性。
本发明提供的技术方案如下:
一种基于机器视觉的绘图方法,包括:步骤S100采集待绘制内容的原始静态图像;步骤S200对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据;步骤S300根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表;步骤S400根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列;步骤S500根据所述运动消息序列,执行绘图动作。
在上述技术方案中,在采集待绘制内容的原始静态图像后,利用图像处理技术提取笔画数据、从而得到状态变量列表,再进行运动规划生成运动消息序列,并执行该消息序列来完成绘图动作;由于是从被绘制内容中提取其笔画来实现绘制,因此既不需要预置标准字库、又可以实现对具有笔画的简笔图进行绘制,从而实现了个性化的笔迹模仿,具有更强的交互性。
进一步,所述步骤S200具体包括:步骤S210对所述原始静态图像进行处理,得到对应的灰度图;步骤S220对所述灰度图进行阈值处理,得到二值化的图像;步骤S230提取所述二值化的图像的骨架图像;步骤S240根据所述骨架图像,得到对应的轮廓信息;步骤S250根据所述轮廓信息,提取所述原始静态图像的笔画数据。
在上述技术方案中,通过剔除冗余的像素点,提取原始静态图像的轮廓信息,得到笔画数据,既可以避免图像模糊,又可以减少笔画数量,提高绘制速度。
进一步,所述步骤S210包括:步骤S211根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像;步骤S212对所述校准后的静态图像进行灰度处理,得到对应的灰度图。
在上述技术方案中,通过对原始静态图像进行校准,可以降低对拍摄的要求,绘图板平面无需完全垂直于摄像头,同时避免因原始静态图像的变形影响机器人所模仿的绘画质量。
进一步,所述步骤S230包括:步骤S231遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点。
在上述技术方案中,通过剔除冗余的像素点,获取骨架图像,既可以避免图像模糊,又可以减少笔画数量,提高绘画速度。
进一步,所述步骤S250包括:步骤S251遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线;步骤S252将剩下的各轮廓分别按照笔画的形式保存,得到所述原始静态图像的笔画数据。
在上述技术方案中,剔除重复的轮廓线,避免因重复轮廓,导致图像模糊。
进一步,所述步骤S252进一步包括:步骤S2521将剩下的各轮廓分别按照笔画的形式保存,并对每个笔画按照预设的精度进行裁剪,得到所述原始静态图像的笔画数据。
在上述技术方案中,通过对笔画进行适当的裁剪,减少绘画的数据量,提高绘画速度。
进一步,所述步骤S300包括:步骤S310根据所述原始静态图像的笔画数据,生成对应的机器人的运动轨迹数据;步骤S320分别对所述机器人的运动轨迹数据中所有轨迹号各自对应的每个轨迹点进行运动学解算,得到每个轨迹点对应的机器人状态变量;步骤S330根据所有轨迹点对应的所述机器人状态变量,得到所述笔画数据对应的所述机器人状态变量列表。
在上述技术方案中,根据图像的笔画数据得到机器人状态变量列表,便于机器人执行绘画动作。
进一步,所述步骤S400包括:步骤S410调用预先配置好的机器人运动规划库,对所述机器人状态变量列表中每个机器人状态变量进行运动路径规划,得到每个机器人状态变量对应的运动消息;步骤S420根据每个机器人状态变量对应的运动消息,生成机器人运动消息序列。
在上述技术方案中,根据机器人状态变量列表和运动规划库,得到机器人运动消息序列,以便机器人根据运动消息序列执行绘画,完成对用户绘画的模仿。
本发明还提供一种基于机器视觉的绘图***,包括:图像采集模块,用于采集待绘制内容的原始静态图像;笔画提取模块,与所述图像采集模块电连接,用于对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据;状态变量生成模块,与所述笔画提取模块电连接,用于根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表;路径规划模块,与所述状态变量生成模块电连接,用于根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列;绘图模块,与所述路径规划模块电连接,用于根据所述运动消息序列,执行绘图动作。
在上述技术方案中,在采集待绘制内容的原始静态图像后,利用图像处理技术提取笔画数据、从而得到状态变量列表,再进行运动规划生成运动消息序列,并执行该消息序列来完成绘图动作;由于是从被绘制内容中提取其笔画来实现绘制,因此既不需要预置标准字库、又可以实现对具有笔画的简笔图进行绘制,从而实现了个性化的笔迹模仿,具有更强的交互性。
进一步,所述笔画提取模块包括:灰度化单元,用于对所述原始静态图像进行处理,得到对应的灰度图;二值化单元,用于对所述灰度图进行阈值处理,得到二值化的图像;骨架提取单元,用于提取所述二值化的图像的骨架图像;边缘检测单元,用于根据所述骨架图像,得到对应的轮廓信息;笔画提取单元,用于根据所述轮廓信息,提取所述原始静态图像的笔画数据。
在上述技术方案中,通过剔除冗余的像素点,提取原始静态图像的轮廓信息,得到笔画数据,既可以避免图像模糊,又可以减少笔画数量,提高绘制速度。
进一步,所述笔画提取模块还包括:校准单元,用于根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像;所述灰度化单元,进一步用于对所述校准后的静态图像进行灰度处理,得到对应的灰度图。
在上述技术方案中,通过对原始静态图像进行校准,可以降低对拍摄的要求,绘图板平面无需完全垂直于摄像头,同时避免因原始静态图像的变形影响机器人所模仿的绘画质量。
进一步,所述骨架提取单元,用于提取所述二值化的图像的骨架图像具体为:所述骨架提取单元,遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点。
在上述技术方案中,剔除冗余的像素点,既可以避免图像模糊,又可以减少笔画数量,提高绘画速度。
进一步,笔画提取单元,用于根据所述轮廓信息,提取所述原始静态图像的笔画数据具体为:用于遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线;以及,将剩下的各轮廓分别按照笔画的形式保存,得到所述原始静态图像的笔画数据。
在上述技术方案中,剔除重复的轮廓线,避免因重复轮廓,导致图像模糊。
进一步,所述笔画提取单元,进一步用于将剩下的各轮廓分别按照笔画的形式保存,并对每个笔画按照预设的精度进行裁剪,得到所述原始静态图像的笔画数据。
在上述技术方案中,通过对笔画进行适当的裁剪,减少绘画的数据量,提高绘画速度。
进一步,所述状态变量生成模块包括:运动轨迹数据生成单元,用于根据所述原始静态图像的笔画数据,生成对应的机器人的运动轨迹数据;运动学解算单元,用于分别对所述机器人的运动轨迹数据中所有轨迹号各自对应的每个轨迹点进行运动学解算,得到每个轨迹点对应的机器人状态变量;状态变量列表生成单元,用于根据所有轨迹点对应的所述机器人状态变量,得到所述笔画数据对应的所述机器人状态变量列表。
在上述技术方案中,根据图像的笔画数据得到机器人状态变量列表,便于机器人执行绘画动作。
进一步,所述路径规划模块包括:路径规划单元,用于调用预先配置好的机器人运动规划库,对所述机器人状态变量列表中每个机器人状态变量进行运动路径规划,得到每个机器人状态变量对应的运动消息;消息序列生成单元,用于根据每个机器人状态变量对应的运动消息,生成机器人运动消息序列。
在上述技术方案中,根据机器人状态变量列表和运动规划库,得到机器人运动消息序列,以便机器人根据运动消息序列执行绘画,完成对用户绘画的模仿。
通过本发明提供的一种基于机器视觉的绘图方法及***,能够带来以下有益效果:通过采集用户所绘画的内容、提取笔画数据后绘制,让机器人实时分析和模仿,从而实现个性化的笔迹模仿,具有更强的交互性。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对一种基于机器视觉的绘图方法及***的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是本发明的一种基于机器视觉的绘图方法的一个实施例的流程图;
图2是本发明的一种基于机器视觉的绘图方法的另一个实施例的流程图;
图3是本发明的一种基于机器视觉的绘图方法的另一个实施例的流程图;
图4是本发明的一种基于机器视觉的绘图方法的另一个实施例的流程图;
图5是本发明的一种基于机器视觉的绘图***的一个实施例的结构示意图;
图6是本发明的一种基于机器视觉的绘图***的另一个实施例的结构示意图;
图7是本发明的一种基于机器视觉的绘图***的另一个实施例的结构示意图;
图8是本发明的一种基于机器视觉的绘图***的另一个实施例的结构示意图;
图9是图3、图7对应实施例中绘图板上的待绘制内容的结构示意图;
图10是图3、图7对应实施例中一个像素点与其八个参考像素点的结构示意图;
图11是图3、图7对应实施例中一个像素点与其参考像素组的结构示意图。
附图标号说明:
100.图像采集模块,200.笔画提取模块,300.状态变量生成模块,400.路径规划模块,500.绘图模块,600.图像校准模块,210.灰度化单元,220.二值化单元,230.骨架提取单元,240.边缘检测单元,250.笔画提取单元,260.校准单元,310.运动轨迹数据生成单元,320.运动学解算单元,330.状态变量列表生成单元,410.路径规划单元,420.消息序列生成单元,1.定位角,2.简笔画,3.汉字,4.绘图板。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。
在本发明的一个实施例中,如图1所示,一种基于机器视觉的绘图方法,包括:
步骤S100采集待绘制内容的原始静态图像。
具体的,待绘制内容是指用户在绘图板上所绘制的内容,包括汉字和/或简笔画。通过安装在机器人上的摄像头采集待绘制内容,得到待绘制内容的原始静态图像。
步骤S200对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据。
具体的,对原始静态图像进行处理,比如,先对图像灰度化、二值化,再对二值化的图像提取骨架,从骨架中检测出所有的轮廓,并按笔画形式保存,从而得到原始静态图像的笔画数据。所述笔画数据可能仅有一个笔画,比如用户画个圆,一个圆只有一笔;也可能有多个笔画,比如写个汉字“言”,有5个笔画。
步骤S300根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表。
具体的,根据笔画数据,生成机器人的运动轨迹数据,然后进行运动学解算并最终生成机器人状态变量列表。
步骤S400根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列。
具体的,根据生成的机器人状态变量列表,进行运动路径规划,生成可以供机器人执行的运动消息序列。
步骤S500根据所述运动消息序列,执行绘图动作。
具体的,根据运动消息序列执行画图动作,从而完全模仿用户的笔迹和风格完成所绘制的内容。
区别于现有技术,本发明的基于机器视觉的绘图方法,在采集待绘制内容的原始静态图像后,利用图像处理技术提取笔画数据、从而得到状态变量列表,再进行运动规划生成运动消息序列,并执行该消息序列来完成绘图动作;由于是从被绘制内容中提取其笔画来实现绘制,因此既不需要预置标准字库、又可以实现对具有笔画的简笔图进行绘制,从而实现了个性化的笔迹模仿,提高了绘制速度,具有更强的交互性和实时性。
在本发明的另一个实施例中,如图2所示,在前一个实施例基础上,所述步骤S200用以下步骤替代:
步骤S210对所述原始静态图像进行处理,得到对应的灰度图。
具体的,对原始静态图像进行处理,将原始静态图像由彩图转换成灰度图。比如,利用图像处理库OpenCV的函数实现灰度图的转换。
步骤S220对所述灰度图进行阈值处理,得到二值化的图像。
具体的,将灰度图二值化。比如将阈值设为100,遍历所述灰度图中的每个像素,当像素值低于阈值时,设为背景值,比如0;当像素值高于阈值时,设为前景值,比如255。通过图像的二值化可以去除图像中的噪点,并将用户所绘制的内容的像素值统一,便于提高骨架提取、边缘检测的准确度。
步骤S230提取所述二值化的图像的骨架图像。
具体的,图像的骨架提取是利用一定的算法将图像中用户绘制的内容的边缘无用像素点删除,只保留所绘制内容的骨架部分。所述骨架图像是单像素连通图像的集合。
步骤S240根据所述骨架图像,得到对应的轮廓信息。
具体的,利用图像处理库OpenCV实现边缘检测,从提取出的骨架图像中检测出所有的轮廓。
步骤S250根据所述轮廓信息,提取所述原始静态图像的笔画数据。
具体的,对所有的轮廓及每条轮廓对应的轮廓点,按照笔画的形式(包括笔画号和对应的笔画点)进行保存,笔画号对应于轮廓,笔画点对应于轮廓点,从而得到所述二值化的图像的笔画数据。这里的一条笔画是指单像素且连续的线段,它可以是直线段、曲线段、某闭合区域的边界线或独立的点等,将所有笔画按照位置组合起来则构成了用户所绘内容的整体轮廓。
在本实施例中,通过剔除冗余的像素点,提取原始静态图像的轮廓信息,得到笔画数据,既可以避免图像模糊,又可以减少笔画数量,提高绘制速度。
在本发明的另一个实施例中,如图3所示,在前一个实施例基础上,所述步骤S210用步骤S211-步骤S212替代,所述步骤S230用步骤S231替代,所述步骤S250用步骤S251-步骤S252替代。
所述步骤S210包括:
步骤S211根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像。
具体的,本实施例允许摄像头对绘图板有一定角度的倾斜,无需完全垂直于绘图板平面。通过对所拍摄的原始静态图像进行校准,从而不影响后续提取内容的精度。在绘图板上预设定位块,比如用两个长方形块构成一个定位角,如图9所示,在绘图板4上设置四个定位角1,所述四个定位角1的详细尺寸和间距预先已知。根据所拍摄图片中的四个定位角1的尺寸、间距,和拍摄前四个定位角1的尺寸、间距,可以得出四个定位角1的形变,根据该形变对所拍摄图像进行校准,从而得到更准确的图像。
如果摄像头正对绘图板,与绘图板成90度拍摄,得到的原始静态图像没有因拍摄引入图像变形,则不需要对原始静态图像进行校准。
步骤S212对所述校准后的静态图像进行灰度处理,得到对应的灰度图。
具体的,将校准后的静态图像由彩图转换成灰度图。
所述步骤S230包括:
步骤S231遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点。
具体的,对二值化的图像进行图像的骨架提取,骨架提取是利用一定的算法将图像中用户绘制的内容的边缘无用像素点删除,只保留所绘制内容的骨架部分。一种实现方法为,初始化迭代次数,将二值化的图像作为待处理图像;遍历待处理图像中所有的前景点,对符合预设的第一剔除条件的前景点进行标记,当遍历完毕后,将标记的前景点剔除,得到第一次处理后的图像;遍历第一次处理后的图像中所有的前景点,对符合预设的第二剔除条件的前景点进行标记,当遍历完毕后,将标记的前景点剔除,得到第二次处理后的图像,这算完成一次迭代;更新迭代次数;当迭代次数小于预设最大迭代次数时,将第二次处理后的图像作为待处理图像,继续前述的剔除的动作,开始一次新的迭代;通过多轮迭代,由外及内,逐步删除边缘无用像素点;当迭代次数等于预设最大迭代次数时,将处理后图像中剩下的前景点,即构成该二值化的图像的骨架图像。这些剩下的前景点,可能是孤立的单像素点,或由一系列单像素连接而成的线段、曲线段或封闭图形等的轮廓线,这些单像素点是原来非单像素连接图像的中间像素点。
示例:首先将原始静态图像转换成灰度图,再将灰度图二值化。比如将阈值设为100,遍历所述灰度图中的每个像素,当像素值低于阈值时,设为背景值,比如0;当像素值高于阈值时,设为前景值,比如1;如此,得到二值化的图像。在二值化的图像中,如果像素点的值为0,表示是背景点;如果为1,表示是前景点。
每个像素点周围有八个参考像素点,如图10所示,分别位于所述像素点的上位(P2)、下位(P6)、左位(P8)、右位(P4)、左上位(P9)、左下位(P7)、右上位(P3)、右下位(P5);如果所述像素点处于边界,其周围的八个参考像素点在图中不会都呈现,未呈现的参考像素点的值按0处理。
在前景点中,如果其周围的八个参考像素点都是背景点,则本像素点为孤立点;如果其周围的八个参考像素点中只有1个是前景点,则本像素点为端点;如果其周围的八个参考像素点中只有1个或2个是背景点,则本像素点为内点。
第一条件:所述像素点为非孤立点且非端点且非内点;
第二条件:所述像素点的八个参考像素点中,只存在一组参考像素组;所述参考像素组为相邻两个参考像素点,且按顺时针方向数,所述相邻两个参考像素点的值分别为背景值和前景值。如图11所示,以中心像素点为核心,其周围的八个参考像素点中,按顺时针方向数,存在两组参考像素组,其结果是0、1,所以该中心像素点不满足第二条件。
第三条件,如图10所示,如果P2、P4、P6像素点中至少有一个是背景点,且P4、P6、P2像素点中至少有一个是背景点,则P1像素点满足第三条件;
第四条件,如图10所示,如果P2、P4、P8像素点中至少有一个是背景点,且P2、P6、P8像素点中至少有一个是背景点,则P1像素点满足第四条件;
同时满足第一条件、第二条件和第三条件的前景点,即为符合预设的第一剔除条件的像素点;同时满足第一条件、第二条件和第四条件的前景点,即为符合预设的第二剔除条件的像素点。
将二值化的图像作为待处理图像,遍历待处理图像中的所有前景点,对符合预设的第一剔除条件的像素点进行标记,当遍历完毕后,将标记的像素点剔除,得到第一次处理后的图像;遍历第一次处理后的图像中所有的前景点,对符合预设的第二剔除条件的像素点进行标记,当遍历完毕后,将标记的像素点剔除,得到第二次处理后的图像。剔除的含义是,将该像素点的值由1变成0,即由前景点变成背景点。这算进行了一次迭代。迭代次数加1,得到更新后的迭代次数。当更新后的迭代次数小于预设最大迭代次数时,将第二次处理后的图像作为待处理图像,再次遍历待处理图像中的所有前景点,剔除所有符合预设的第一剔除条件的像素点,以及剔除所有符合预设的第二剔除条件的像素点。如此循环,直至更新后的迭代次数等于预设最大迭代次数。此时,处理后图像中剩下的前景点即构成二值化的图像的骨架图像。
预设最大迭代次数,依据经验设置,比如N=10。通过多轮迭代删除无用的像素,保留骨架像素点,实现图像的骨架提取。
所述步骤S250包括:
步骤S251遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线。
步骤S252将剩下的各轮廓分别按照笔画的形式保存,得到所述原始静态图像的笔画数据。
具体的,从提取的骨架图像中检测出所有的轮廓。遍历所有的轮廓,根据轮廓点位置重合度剔除重复轮廓线,如图9所示的简笔画2,小鸭子为例,小鸭子的脚部存在2条轮廓,这2条轮廓存在交叠,所以存在2条重复的轮廓线,删除1条即可。
将剩余的轮廓按照笔画的形式(包括笔画号和对应的笔画点)进行保存,笔画号对应于轮廓,笔画点对应于轮廓点,从而完成笔画数据的提取。
示例,如图9所示,绘图板4上的待绘制的汉字3,“言”为例,经过笔画数据提取后可以得到的笔画数量是5个,则笔画号为1~5,每个笔画又包含若干个笔画点,每个笔画点都对应一个平面坐标值,具体数据如下表1所示:
表1
笔画号 | 对应“言”字部分 | 笔画点数量 | 笔画点坐标(x,y) |
1 | 点“丶” | 173个 | (264,122)(265,122)…(319,150) |
2 | 横“一” | 754个 | (420,209)(419,210)…(119,232) |
3 | 横“一” | 308个 | (372,272)(371,273)…(226,282) |
4 | 横“一” | 324个 | (376,334)(375,335)…(220,345) |
5 | 口“口” | 575个 | (348,397)(347,398)…(210,401) |
以笔画1为例,它代表的是“言”字最上面的点“丶”,这个点共有173个笔画点,每个笔画点都对应一组平面坐标的值(即此笔画包含173个坐标值),每个笔画点实际上都是一个像素点,因此每个笔画提取到的笔画点的数目是由图片的像素决定的,即同样一个笔画,在像素越多的图片中提取到的笔画点也越多。
如图9所示,绘图板4上的待绘制的简笔画2,小鸭子为例,经过笔画数据提取后可以得到的笔画数量是9个,则笔画号为1~9,每个笔画又包含若干个笔画点,每个笔画点都对应一个平面坐标值,具体数据如下表2所示:
表2
笔画号 | 对应“小鸭子”部位 | 笔画点数量 | 笔画点坐标(x,y) |
1 | 脚部(前) | 393 | (312,534)(313,533)…(195,554) |
2 | 脚部(后) | 455 | (422,520)(423、519)…(297,599) |
3 | 躯干部 | 1157 | (345,250)(346,249)…(641,343) |
4 | 翅膀部 | 614 | (349,276)(348,277)…(506,353) |
5 | 颈部 | 298 | (212,251)(213,250)…(131,319) |
6 | 头部 | 625 | (182,30)(183,29)…(285,75) |
7 | 嘴部 | 362 | (358,70)(359,69)…(267,166) |
8 | 眼部 | 38 | (248,86)(249,86)…(251,101) |
9 | 鼻孔(嘴上的点) | 12 | (305,91)(305,92)…(304,96) |
以笔画1为例,它代表简笔画“小鸭子”的前面的脚部的部分,共包含393个笔画点,同样对应有393组平面坐标点,这些坐标点共同组成了“小鸭子”的前脚部。
在本发明的另一个实施例中,如图4所示,一种基于机器视觉的绘图方法,包括:
步骤S100采集待绘制内容的原始静态图像。
步骤S211根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像。
步骤S212对所述校准后的静态图像进行灰度处理,得到对应的灰度图。
步骤S220对所述灰度图进行阈值处理,得到二值化的图像。
步骤S231遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点。
步骤S240根据所述骨架图像,得到对应的轮廓信息。
步骤S251遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线。
步骤S2521将剩下的各轮廓分别按照笔画的形式保存,并对每个笔画按照预设的精度进行裁剪,得到所述原始静态图像的笔画数据。
具体的,由于目前的摄像头的分辨率一般较高,因此各个笔画中的笔画点数量较多,而无需如此多的笔画点即可完成机器人绘图,因此可以对笔画进行裁剪处理。实现方法为:遍历上一步骤保存的笔画,每个笔画按照预设的精度对数据进行裁剪,例如精度设置为0.5mm,在0.5mm内只保留两个端点的数据,对各个笔画内的笔画点按如此精度进行裁剪,将修剪完成的数据作为最后的笔画数据。精度设置越高,对应的精度值越小,则每个笔画保留的笔画点越多,对用户所绘制的内容的还原度越高。通过设置合理的精度进行笔画裁剪处理,在保证模仿精度的同时剔除一些冗余数据,可以减小数据量,减小本方案的运算量提高绘图速度。
步骤S310根据所述原始静态图像的笔画数据,生成对应的机器人的运动轨迹数据。
具体的,对原始静态图像的笔画数据进行数据整理,得到运动轨迹数据。每个笔画按照新的数据结构体进行保存,将这些数据保存成为链表,即得到运动轨迹数据。
新的数据结构体为:
其中,motion_number对应于轨迹号(源自笔画号),point_number对应于该轨迹号内包含的轨迹点(源自笔画点),point是一个二维数组,保存的是每个轨迹点的坐标值,n的值代表轨迹点的数量。
步骤S320分别对所述机器人的运动轨迹数据中所有轨迹号各自对应的每个轨迹点进行运动学解算,得到每个轨迹点对应的机器人状态变量。
具体的,遍历每个轨迹号的每个轨迹点,对每个轨迹点进行运动学解算,得到该轨迹点对应的机器人状态变量。运动学解算可以采用且不限于几何法、代数法、解析法、智能复合算法等,不同的机器人可以采用相应合适的算法进行运动学解算。保存每个轨迹点对应的机器人状态变量。
以一个五自由度(有五个关节,即五个转轴)的机器人为例,每一个轨迹点经过运动学解算即可得到一组机器人状态变量,此机器人状态变量就是一组包含五个角度值的数据,每个角度值对应机器人的一个关节,机器人五个关节按照所述五个角度值运动后就可以到达一个对应的轨迹点。
步骤S330根据所有轨迹点对应的所述机器人状态变量,得到所述笔画数据对应的所述机器人状态变量列表。
具体的,将每个轨迹点对应的机器人状态变量进行保存,最后整理成机器人状态变量列表。其中机器人状态列表中的每一个数据都是一个数据结构体,如下所示:
其中,state_number代表机器人的状态变量号,对应于motion_number,一般有多少个笔画就对应有多少个状态变量号;point_number代表该状态变量号下面包含的状态点数量,一般与运动轨迹列表的point_number相等;state代表机器人的状态变量值,为j行k列的数组,k列代机器人表有k个关节,j代表机器人状态变量的数量,对应于运动轨迹列表的轨迹点数量n,即二者值相等。
步骤S410调用预先配置好的机器人运动规划库,对所述机器人状态变量列表中每个机器人状态变量进行运动路径规划,得到每个机器人状态变量对应的运动消息。
步骤S420根据每个机器人状态变量对应的运动消息,生成机器人运动消息序列。
步骤S500根据所述运动消息序列,执行绘图动作。
具体的,机器人运动规划是指根据机器人不同的状态变量,生成由一个状态变量到另一个状态状态变量的运动路径。这一运动路径需要满足一定的外部约束,比如避障、路径最近、耗能最小等。
本实施例提出的机器人运动规划方法是基于ROS(机器人操作***)完成的,具体步骤如下:
步骤1:机器人ROS***建模。ROS***建模既可以采用纯编程的方式进行也可以导入机器人原有三维模型并在其基础上进行编程,ROS建模采用的编程语言为脚本类语言,目前支持URDF(Unified Robot Description Format,统一机器人描述格式)和XACRO(XMLMacros,一种XML宏语言)两种。进一步,ROS***建模的过程就是明确机器人的几何尺寸、关节类型、运动范围、避障条件等特征的过程,最终生成机器人的模型描述文件。
步骤2:ROS***Moveit模块配置。Moveit是ROS***的一个模块,它集成了多个开源的运动规划库,利用这个模块的框架可以实现机器人的运动规划和仿真等。进一步,配置的过程为利用Setup Assistant tool工具,加载上一步骤中生成的机器人的模型描述文件,然后配置运动规划群、碰撞检测、初始状态、运动规划库等信息,最后生成ROS配置文件包。
步骤3:读取状态变量列表。调用ROS***库编写Moveit接口程序,逐一读取机器人状态变量列表中的每个状态变量值。
步骤4:运动规划库调用。针对每一个状态变量值调用预先配置好的机器人运动规划库,进行状态变量的运动规划。机器人的各个状态变量号下面对应的状态变量值每读取一个,都会调用一次运动规划库,生成一组运动消息。
步骤5:机器人运动消息序列生成。将上一步骤中生成的运动消息进行逐一保存,生成机器人运动消息序列。机器人的运动消息序列就是机器人各个关节的运动量,可以直接发送给机器人驱动模块执行。
步骤6:运动消息序列发送。将上一步骤中生成的机器人运动消息序列进行打包并发送给机器人驱动模块,机器人驱动模块接收到运动消息后执行即可。二者通信方式既可以采用有线的方式也可以采用无线的方式进行。
在本发明的另一个实施例中,如图5所示,一种基于机器视觉的绘图***,包括:
图像采集模块100,用于采集待绘制内容的原始静态图像。
具体的,待绘制内容是指用户在绘图板上所绘制的内容,包括汉字和/或简笔画。图像采集模块通过安装在机器人上的摄像头采集待绘制内容,得到待绘制内容的原始静态图像。
笔画提取模块200,与所述图像采集模块100电连接,用于对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据。
具体的,对原始静态图像进行处理,比如,先对图像灰度化、二值化,再对二值化的图像提取骨架,从骨架中检测出所有的轮廓,并按笔画形式保存,从而得到原始静态图像的笔画数据。所述笔画数据可能仅有一个笔画,比如用户画个圆,一个圆只有一笔;也可能有多个笔画,比如写个汉字“言”,有5个笔画。
状态变量生成模块300,与所述笔画提取模块200电连接,用于根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表。
具体的,根据笔画数据,生成机器人的运动轨迹数据,然后进行运动学解算并最终生成机器人状态变量列表。
路径规划模块400,与所述状态变量生成模块300电连接,用于根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列。
具体的,根据生成的机器人状态变量列表,进行运动路径规划,生成可以供机器人执行的运动消息序列。
绘图模块500,与所述路径规划模块400电连接,用于根据所述运动消息序列,执行绘图动作。
具体的,根据运动消息序列执行画图动作,从而完全模仿用户的笔迹和风格完成所绘制的内容。
区别于现有技术,本发明的基于机器视觉的绘图方法,在采集待绘制内容的原始静态图像后,利用图像处理技术提取笔画数据、从而得到状态变量列表,再进行运动规划生成运动消息序列,并执行该消息序列来完成绘图动作;由于是从被绘制内容中提取其笔画来实现绘制,因此既不需要预置标准字库、又可以实现对具有笔画的简笔图进行绘制,从而实现了个性化的笔迹模仿,提高了绘制速度,具有更强的交互性和实时性。
在本发明的另一个实施例中,如图6所示,在前一个实施例基础上,对图5对应实施例的笔画提取模块200做了细化:
所述笔画提取模块200包括:
灰度化单元210,用于对所述原始静态图像进行处理,得到对应的灰度图;
具体的,对原始静态图像进行处理,将原始静态图像由彩图转换成灰度图。比如,利用图像处理库OpenCV的函数实现灰度图的转换。
二值化单元220,用于对所述灰度图进行阈值处理,得到二值化的图像;
具体的,将灰度图二值化。比如将阈值设为100,遍历所述灰度图中的每个像素,当像素值低于阈值时,设为背景值,比如0;当像素值高于阈值时,设为前景值,比如255。通过图像的二值化可以去除图像中的噪点,并将用户所绘制的内容的像素值统一,便于提高骨架提取、边缘检测的准确度。
骨架提取单元230,用于提取所述二值化的图像的骨架图像。
具体的,图像的骨架提取是利用一定的算法将图像中用户绘制的内容的边缘无用像素点删除,只保留所绘制内容的骨架部分。所述骨架图像是单像素连通图像的集合。
边缘检测单元240,用于根据所述骨架图像,得到对应的轮廓信息。
具体的,利用图像处理库OpenCV实现边缘检测,从提取出的骨架图像中检测出所有的轮廓。
笔画提取单元250,用于根据所述轮廓信息,提取所述原始静态图像的笔画数据。
具体的,对所有的轮廓及每条轮廓对应的轮廓点,按照笔画的形式(包括笔画号和对应的笔画点)进行保存,笔画号对应于轮廓,笔画点对应于轮廓点,从而得到所述二值化的图像的笔画数据。这里的一条笔画是指单像素且连续的线段,它可以是直线段、曲线段、某闭合区域的边界线或独立的点等,将所有笔画按照位置组合起来则构成了用户所绘内容的整体轮廓。
在本实施例中,通过剔除冗余的像素点,提取原始静态图像的轮廓信息,得到笔画数据,既可以避免图像模糊,又可以减少笔画数量,提高绘制速度。
在本发明的另一个实施例中,如图7所示,在前一个实施例基础上,对图6对应实施例的笔画提取模块200做了进一步的细化:
所述笔画提取模块200还包括:
校准单元260,用于根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像。
具体的,本实施例允许摄像头对绘图板有一定角度的倾斜,无需完全垂直于绘图板平面。通过对所拍摄的原始静态图像进行校准,从而不影响后续提取内容的精度。在绘图板上预设定位块,比如用两个长方形块构成一个定位角,如图9所示,在绘图板4上设置四个定位角1,所述四个定位角1的详细尺寸和间距预先已知。根据所拍摄图片中的四个定位角1的尺寸、间距,和拍摄前四个定位角1的尺寸、间距,可以得出四个定位角1的形变,根据该形变对所拍摄图像进行校准,从而得到更准确的图像。
如果摄像头正对绘图板,与绘图板成90度拍摄,得到的原始静态图像没有因拍摄引入图像变形,则不需要对原始静态图像进行校准。
灰度化单元210,用于对所述校准后的静态图像进行灰度处理,得到对应的灰度图。
具体的,将校准后的静态图像由彩图转换成灰度图。
骨架提取单元230,用于提取所述二值化的图像的骨架图像,具体为:所述骨架提取单元,遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点。
具体的,对二值化的图像进行图像的骨架提取,骨架提取是利用一定的算法将图像中用户绘制的内容的边缘无用像素点删除,只保留所绘制内容的骨架部分。一种实现方法为,初始化迭代次数,将二值化的图像作为待处理图像;遍历待处理图像中所有的前景点,对符合预设的第一剔除条件的前景点进行标记,当遍历完毕后,将标记的前景点剔除,得到第一次处理后的图像;遍历第一次处理后的图像中所有的前景点,对符合预设的第二剔除条件的前景点进行标记,当遍历完毕后,将标记的前景点剔除,得到第二次处理后的图像,这算完成一次迭代;更新迭代次数;当迭代次数小于预设最大迭代次数时,将第二次处理后的图像作为待处理图像,继续前述的剔除的动作,开始一次新的迭代;通过多轮迭代,由外及内,逐步删除边缘无用像素点;当迭代次数等于预设最大迭代次数时,将处理后图像中剩下的前景点,即构成该二值化的图像的骨架图像。这些剩下的前景点,可能是孤立的单像素点,或由一系列单像素连接而成的线段、曲线段或封闭图形等的轮廓线,这些单像素点是原来非单像素连接图像的中间像素点。
示例:首先将原始静态图像转换成灰度图,再将灰度图二值化。比如将阈值设为100,遍历所述灰度图中的每个像素,当像素值低于阈值时,设为背景值,比如0;当像素值高于阈值时,设为前景值,比如1;如此,得到二值化的图像。在二值化的图像中,如果像素点的值为0,表示是背景点;如果为1,表示是前景点。
每个像素点周围有八个参考像素点,如图10所示,分别位于所述像素点的上位(P2)、下位(P6)、左位(P8)、右位(P4)、左上位(P9)、左下位(P7)、右上位(P3)、右下位(P5);如果所述像素点处于边界,其周围的八个参考像素点在图中不会都呈现,未呈现的参考像素点的值按0处理。
在前景点中,如果其周围的八个参考像素点都是背景点,则本像素点为孤立点;如果其周围的八个参考像素点中只有1个是前景点,则本像素点为端点;如果其周围的八个参考像素点中只有1个或2个是背景点,则本像素点为内点。
第一条件:所述像素点为非孤立点且非端点且非内点;
第二条件:所述像素点的八个参考像素点中,只存在一组参考像素组;所述参考像素组为相邻两个参考像素点,且按顺时针方向数,所述相邻两个参考像素点的值分别为背景值和前景值。如图11所示,以中心像素点为核心,其周围的八个参考像素点中,按顺时针方向数,存在两组参考像素组,其结果是0、1,所以该中心像素点不满足第二条件。
第三条件,如图10所示,如果P2、P4、P6像素点中至少有一个是背景点,且P4、P6、P8像素点中至少有一个是背景点,则P1像素点满足第三条件;
第四条件,如图10所示,如果P2、P4、P8像素点中至少有一个是背景点,且P2、P6、P8像素点中至少有一个是背景点,则P1像素点满足第四条件;
同时满足第一条件、第二条件和第三条件的前景点,即为符合预设的第一剔除条件的像素点;同时满足第一条件、第二条件和第四条件的前景点,即为符合预设的第二剔除条件的像素点。
将二值化的图像作为待处理图像,遍历待处理图像中的所有前景点,对符合预设的第一剔除条件的像素点进行标记,当遍历完毕后,将标记的像素点剔除,得到第一次处理后的图像;遍历第一次处理后的图像中所有的前景点,对符合预设的第二剔除条件的像素点进行标记,当遍历完毕后,将标记的像素点剔除,得到第二次处理后的图像。剔除的含义是,将该像素点的值由1变成0,即由前景点变成背景点。这算进行了一次迭代。迭代次数加1,得到更新后的迭代次数。当更新后的迭代次数小于预设最大迭代次数时,将第二次处理后的图像作为待处理图像,再次遍历待处理图像中的所有前景点,剔除所有符合预设的第一剔除条件的像素点,以及剔除所有符合预设的第二剔除条件的像素点。如此循环,直至更新后的迭代次数等于预设最大迭代次数。此时,处理后图像中剩下的前景点即构成二值化的图像的骨架图像。
预设最大迭代次数,依据经验设置,比如N=10。通过多轮迭代删除无用的像素,保留骨架像素点,实现图像的骨架提取。
笔画提取单元250,用于根据所述轮廓信息,提取所述原始静态图像的笔画数据,具体为:用于遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线;以及,将剩下的各轮廓分别按照笔画的形式保存,得到所述原始静态图像的笔画数据。
具体的,从提取的骨架图像中检测出所有的轮廓。遍历所有的轮廓,根据轮廓点位置重合度剔除重复轮廓线,如图9所示的简笔画2,小鸭子为例,小鸭子的脚部存在2条轮廓,这2条轮廓存在交叠,所以存在2条重复的轮廓线,删除1条即可。
将剩余的轮廓按照笔画的形式(包括笔画号和对应的笔画点)进行保存,笔画号对应于轮廓,笔画点对应于轮廓点,从而完成笔画数据的提取。
示例,如图9所示,绘图板4上的待绘制的汉字3,“言”为例,经过笔画数据提取后可以得到的笔画数量是5个,则笔画号为1~5,每个笔画又包含若干个笔画点,每个笔画点都对应一个平面坐标值,具体数据如下表1所示:
表1
笔画号 | 对应“言”字部分 | 笔画点数量 | 笔画点坐标(x,y) |
1 | 点“丶” | 173个 | (264,122)(265,122)…(319,150) |
2 | 横“一” | 754个 | (420,209)(419,210)…(119,232) |
3 | 横“一” | 308个 | (372,272)(371,273)…(226,282) |
4 | 横“一” | 324个 | (376,334)(375,335)…(220,345) |
5 | 口“口” | 575个 | (348,397)(347,398)…(210,401) |
以笔画1为例,它代表的是“言”字最上面的点“丶”,这个点共有173个笔画点,每个笔画点都对应一组平面坐标的值(即此笔画包含173个坐标值),每个笔画点实际上都是一个像素点,因此每个笔画提取到的笔画点的数目是由图片的像素决定的,即同样一个笔画,在像素越多的图片中提取到的笔画点也越多。
如图9所示,绘图板4上的待绘制的简笔画2,小鸭子为例,经过笔画数据提取后可以得到的笔画数量是9个,则笔画号为1~9,每个笔画又包含若干个笔画点,每个笔画点都对应一个平面坐标值,具体数据如下表2所示:
表2
以笔画1为例,它代表简笔画“小鸭子”的前面的脚部的部分,共包含393个笔画点,同样对应有393组平面坐标点,这些坐标点共同组成了“小鸭子”的前脚部。
在本发明的另一个实施例中,如图8所示,一种基于机器视觉的绘图***,包括:
图像采集模块100,用于采集待绘制内容的原始静态图像。
笔画提取模块200,用于对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据,包括:
校准单元260,用于根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像;
灰度化单元210,用于对所述校准后的静态图像进行灰度处理,得到对应的灰度图;
二值化单元220,用于对所述灰度图进行阈值处理,得到二值化的图像;
骨架提取单元230,用于提取所述二值化的图像的骨架图像,具体为:所述骨架提取单元,遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点;
边缘检测单元240,用于根据所述骨架图像,得到对应的轮廓信息;
笔画提取单元250,用于根据所述轮廓信息,提取所述原始静态图像的笔画数据,具体为:用于遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线;以及,将剩下的各轮廓分别按照笔画的形式保存,并对每个笔画按照预设的精度进行裁剪,得到所述原始静态图像的笔画数据。
具体的,由于目前的摄像头的分辨率一般较高,因此各个笔画中的笔画点数量较多,而无需如此多的笔画点即可完成机器人绘图,因此可以对笔画进行裁剪处理。实现方法为:遍历上一步骤保存的笔画,每个笔画按照预设的精度对数据进行裁剪,例如精度设置为0.5mm,在0.5mm内只保留两个端点的数据,对各个笔画内的笔画点按如此精度进行裁剪,将修剪完成的数据作为最后的笔画数据。精度设置越高,对应的精度值越小,则每个笔画保留的笔画点越多,对用户所绘制的内容的还原度越高。通过设置合理的精度进行笔画裁剪处理,在保证模仿精度的同时剔除一些冗余数据,可以减小数据量,减小本方案的运算量提高绘图速度。
状态变量生成模块300,用于根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表,包括:
运动轨迹数据生成单元310,用于根据所述原始静态图像的笔画数据,生成对应的机器人的运动轨迹数据。
具体的,对原始静态图像的笔画数据进行数据整理,得到运动轨迹数据。每个笔画按照新的数据结构体进行保存,将这些数据保存成为链表,即得到运动轨迹数据。
新的数据结构体为:
其中,motion_number对应于轨迹号(源自笔画号),point_number对应于该轨迹号内包含的轨迹点(源自笔画点),point是一个二维数组,保存的是每个轨迹点的坐标值,n的值代表轨迹点的数量。
运动学解算单元320,用于分别对所述机器人的运动轨迹数据中所有轨迹号各自对应的每个轨迹点进行运动学解算,得到每个轨迹点对应的机器人状态变量。
具体的,遍历每个轨迹号的每个轨迹点,对每个轨迹点进行运动学解算,得到该轨迹点对应的机器人状态变量。运动学解算可以采用且不限于几何法、代数法、解析法、智能复合算法等,不同的机器人可以采用相应合适的算法进行运动学解算。保存每个轨迹点对应的机器人状态变量。
以一个五自由度(有五个关节,即五个转轴)的机器人为例,每一个轨迹点经过运动学解算即可得到一组机器人状态变量,此机器人状态变量就是一组包含五个角度值的数据,每个角度值对应机器人的一个关节,机器人五个关节按照所述五个角度值运动后就可以到达一个对应的轨迹点。
状态变量列表生成单元330,用于根据所有轨迹点对应的所述机器人状态变量,得到所述笔画数据对应的所述机器人状态变量列表;
路径规划模块400,用于根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列,包括:
路径规划单元410,用于调用预先配置好的机器人运动规划库,对所述机器人状态变量列表中每个机器人状态变量进行运动路径规划,得到每个机器人状态变量对应的运动消息;
消息序列生成单元420,用于根据每个机器人状态变量对应的运动消息,生成机器人运动消息序列;
绘图模块500,用于根据所述运动消息序列,执行绘图动作。
具体的,机器人运动规划是指根据机器人不同的状态变量,生成由一个状态变量到另一个状态状态变量的运动路径。这一运动路径需要满足一定的外部约束,比如避障、路径最近、耗能最小等。
本实施例提出的机器人运动规划方法是基于ROS(机器人操作***)完成的,具体步骤如下:
步骤1:机器人ROS***建模。ROS***建模既可以采用纯编程的方式进行也可以导入机器人原有三维模型并在其基础上进行编程,ROS建模采用的编程语言为脚本类语言,目前支持URDF(Unified Robot Description Format,统一机器人描述格式)和XACRO(XMLMacros,一种XML宏语言)两种。进一步,ROS***建模的过程就是明确机器人的几何尺寸、关节类型、运动范围、避障条件等特征的过程,最终生成机器人的模型描述文件。
步骤2:ROS***Moveit模块配置。Moveit是ROS***的一个模块,它集成了多个开源的运动规划库,利用这个模块的框架可以实现机器人的运动规划和仿真等。进一步,配置的过程为利用Setup Assistant tool工具,加载上一步骤中生成的机器人的模型描述文件,然后配置运动规划群、碰撞检测、初始状态、运动规划库等信息,最后生成ROS配置文件包。
步骤3:读取状态变量列表。调用ROS***库编写Moveit接口程序,逐一读取机器人状态变量列表中的每个状态变量值。
步骤4:运动规划库调用。针对每一个状态变量值调用预先配置好的机器人运动规划库,进行状态变量的运动规划。机器人的各个状态变量号下面对应的状态变量值每读取一个,都会调用一次运动规划库,生成一组运动消息。
步骤5:机器人运动消息序列生成。将上一步骤中生成的运动消息进行逐一保存,生成机器人运动消息序列。机器人的运动消息序列就是机器人各个关节的运动量,可以直接发送给机器人驱动模块执行。
步骤6:运动消息序列发送。将上一步骤中生成的机器人运动消息序列进行打包并发送给机器人驱动模块,机器人驱动模块接收到运动消息后执行即可。二者通信方式既可以采用有线的方式也可以采用无线的方式进行。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种基于机器视觉的绘图方法,其特征在于,包括:
步骤S100采集待绘制内容的原始静态图像;
步骤S200对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据;
步骤S300根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表;
步骤S400根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列;
步骤S500根据所述运动消息序列,执行绘图动作。
2.根据权利要求1所述的基于机器视觉的绘图方法,其特征在于,所述步骤S200具体包括:
步骤S210对所述原始静态图像进行处理,得到对应的灰度图;
步骤S220对所述灰度图进行阈值处理,得到二值化的图像;
步骤S230提取所述二值化的图像的骨架图像;
步骤S240根据所述骨架图像,得到对应的轮廓信息;
步骤S250根据所述轮廓信息,提取所述原始静态图像的笔画数据。
3.根据权利要求2所述的基于机器视觉的绘图方法,其特征在于,所述步骤S210包括:
步骤S211根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像;
步骤S212对所述校准后的静态图像进行灰度处理,得到对应的灰度图。
4.根据权利要求2所述的基于机器视觉的绘图方法,其特征在于,所述步骤S230包括:
步骤S231遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点。
5.根据权利要求2所述的基于机器视觉的绘图方法,其特征在于,所述步骤S250包括:
步骤S251遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线;
步骤S252将剩下的各轮廓分别按照笔画的形式保存,得到所述原始静态图像的笔画数据。
6.根据权利要求5所述的基于机器视觉的绘图方法,其特征在于,所述步骤S252进一步包括:
步骤S2521将剩下的各轮廓分别按照笔画的形式保存,并对每个笔画按照预设的精度进行裁剪,得到所述原始静态图像的笔画数据。
7.根据权利要求1所述的基于机器视觉的绘图方法,其特征在于,所述步骤S300包括:
步骤S310根据所述原始静态图像的笔画数据,生成对应的机器人的运动轨迹数据;
步骤S320分别对所述机器人的运动轨迹数据中所有轨迹号各自对应的每个轨迹点进行运动学解算,得到每个轨迹点对应的机器人状态变量;
步骤S330根据所有轨迹点对应的所述机器人状态变量,得到所述笔画数据对应的所述机器人状态变量列表。
8.根据权利要求1所述的基于机器视觉的绘图方法,其特征在于,所述步骤S400包括:
步骤S410调用预先配置好的机器人运动规划库,对所述机器人状态变量列表中每个机器人状态变量进行运动路径规划,得到每个机器人状态变量对应的运动消息;
步骤S420根据每个机器人状态变量对应的运动消息,生成机器人运动消息序列。
9.一种基于机器视觉的绘图***,其特征在于,包括:
图像采集模块,用于采集待绘制内容的原始静态图像;
笔画提取模块,与所述图像采集模块电连接,用于对所述原始静态图像进行处理,提取所述原始静态图像的笔画数据;
状态变量生成模块,与所述笔画提取模块电连接,用于根据所述原始静态图像的笔画数据,得到对应的机器人状态变量列表;
路径规划模块,与所述状态变量生成模块电连接,用于根据所述机器人状态变量列表,进行运动路径规划,生成运动消息序列;
绘图模块,与所述路径规划模块电连接,用于根据所述运动消息序列,执行绘图动作。
10.根据权利要求9所述的基于机器视觉的绘图***,其特征在于,所述笔画提取模块包括:
灰度化单元,用于对所述原始静态图像进行处理,得到对应的灰度图;
二值化单元,用于对所述灰度图进行阈值处理,得到二值化的图像;
骨架提取单元,用于提取所述二值化的图像的骨架图像;
边缘检测单元,用于根据所述骨架图像,得到对应的轮廓信息;
笔画提取单元,用于根据所述轮廓信息,提取所述原始静态图像的笔画数据。
11.根据权利要求10所述的基于机器视觉的绘图***,其特征在于,所述笔画提取模块还包括:
校准单元,用于根据预设的定位块对所述原始静态图像进行校准,得到校准后的静态图像;
所述灰度化单元,进一步用于对所述校准后的静态图像进行灰度处理,得到对应的灰度图。
12.根据权利要求10所述的基于机器视觉的绘图***,其特征在于:
所述骨架提取单元,用于提取所述二值化的图像的骨架图像具体为:所述骨架提取单元,遍历所述二值化的图像中的每个像素点,获取单像素点或一系列单像素连接而成的线段、曲线段或封闭图形的轮廓线作为骨架图像,所述单像素点是非单像素连接图像的中间像素点。
13.根据权利要求10所述的基于机器视觉的绘图***,其特征在于:
所述笔画提取单元,用于根据所述轮廓信息,提取所述原始静态图像的笔画数据具体为:用于遍历所述轮廓信息,剔除所述轮廓信息中各轮廓之间重复的轮廓线;以及,将剩下的各轮廓分别按照笔画的形式保存,得到所述原始静态图像的笔画数据。
14.根据权利要求13所述的基于机器视觉的绘图***,其特征在于:
所述笔画提取单元,进一步用于将剩下的各轮廓分别按照笔画的形式保存,并对每个笔画按照预设的精度进行裁剪,得到所述原始静态图像的笔画数据。
15.根据权利要求9所述的基于机器视觉的绘图***,其特征在于,所述状态变量生成模块包括:
运动轨迹数据生成单元,用于根据所述原始静态图像的笔画数据,生成对应的机器人的运动轨迹数据;
运动学解算单元,用于分别对所述机器人的运动轨迹数据中所有轨迹号各自对应的每个轨迹点进行运动学解算,得到每个轨迹点对应的机器人状态变量;
状态变量列表生成单元,用于根据所有轨迹点对应的所述机器人状态变量,得到所述笔画数据对应的所述机器人状态变量列表。
16.根据权利要求9所述的基于机器视觉的绘图***,其特征在于,所述路径规划模块包括:
路径规划单元,用于调用预先配置好的机器人运动规划库,对所述机器人状态变量列表中每个机器人状态变量进行运动路径规划,得到每个机器人状态变量对应的运动消息;
消息序列生成单元,用于根据每个机器人状态变量对应的运动消息,生成机器人运动消息序列。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810297791.7A CN108460369B (zh) | 2018-04-04 | 2018-04-04 | 一种基于机器视觉的绘图方法及*** |
PCT/CN2018/106790 WO2019192149A1 (zh) | 2018-04-04 | 2018-09-20 | 一种基于机器视觉的绘图方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810297791.7A CN108460369B (zh) | 2018-04-04 | 2018-04-04 | 一种基于机器视觉的绘图方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108460369A true CN108460369A (zh) | 2018-08-28 |
CN108460369B CN108460369B (zh) | 2020-04-14 |
Family
ID=63235051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810297791.7A Active CN108460369B (zh) | 2018-04-04 | 2018-04-04 | 一种基于机器视觉的绘图方法及*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108460369B (zh) |
WO (1) | WO2019192149A1 (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109940611A (zh) * | 2019-02-26 | 2019-06-28 | 深圳市越疆科技有限公司 | 轨迹复现方法、***及终端设备 |
CN109993680A (zh) * | 2019-04-04 | 2019-07-09 | 中科云创(厦门)科技有限公司 | 字迹模仿方法、装置、电子设备及计算机可读介质 |
CN110033498A (zh) * | 2019-04-18 | 2019-07-19 | 吉林大学 | 一种椭圆/矩形螺旋线一笔画效果的图案处理方法 |
WO2019192149A1 (zh) * | 2018-04-04 | 2019-10-10 | 南京阿凡达机器人科技有限公司 | 一种基于机器视觉的绘图方法及*** |
CN110524549A (zh) * | 2019-08-19 | 2019-12-03 | 广东智媒云图科技股份有限公司 | 一种基于机械臂和铆钉枪的作画方法、装置及*** |
CN110587620A (zh) * | 2019-08-30 | 2019-12-20 | 重庆智能机器人研究院 | 工业机器人写绘方法、***、工件加工方法和计算机设备 |
CN111047671A (zh) * | 2019-12-24 | 2020-04-21 | 成都来画科技有限公司 | 一种手绘图片的绘画路径的优化方法及存储介质 |
CN111125403A (zh) * | 2019-11-27 | 2020-05-08 | 浙江大学 | 一种基于人工智能的辅助设计绘图方法及*** |
CN111168676A (zh) * | 2020-01-08 | 2020-05-19 | 浙江省北大信息技术高等研究院 | 机械臂手眼协作绘画方法、装置、绘画机器人及介质 |
CN111185902A (zh) * | 2019-12-30 | 2020-05-22 | 深圳市越疆科技有限公司 | 基于视觉识别的机器人文字书写方法、装置和书写*** |
CN111185903A (zh) * | 2020-01-08 | 2020-05-22 | 浙江省北大信息技术高等研究院 | 控制机械臂绘制人像画的方法、装置及机器人*** |
CN111195912A (zh) * | 2020-01-08 | 2020-05-26 | 浙江省北大信息技术高等研究院 | 利用机械臂绘制肖像画的方法、装置、机器人及存储介质 |
CN111251309A (zh) * | 2020-01-08 | 2020-06-09 | 浙江省北大信息技术高等研究院 | 控制机器人绘制图像的方法、装置、机器人及介质 |
CN112959320A (zh) * | 2021-02-08 | 2021-06-15 | 广州富港万嘉智能科技有限公司 | 控制机械手自动书写的方法及装置、机械手、*** |
CN112975958A (zh) * | 2021-02-08 | 2021-06-18 | 广州富港万嘉智能科技有限公司 | 文字的笔顺的路径点生成方法及装置、机械手控制*** |
CN114332985A (zh) * | 2021-12-06 | 2022-04-12 | 上海大学 | 一种基于双机械臂协同的肖像轮廓智能绘制方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111152234A (zh) * | 2019-12-27 | 2020-05-15 | 深圳市越疆科技有限公司 | 用于机器人的书法临摹方法、装置及机器人 |
CN111275049B (zh) * | 2020-01-19 | 2023-07-21 | 佛山市国方识别科技有限公司 | 一种文字图像骨架特征描述符获取的方法及装置 |
CN112950535B (zh) * | 2021-01-22 | 2024-03-22 | 北京达佳互联信息技术有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN114407047B (zh) * | 2022-03-01 | 2024-06-18 | 蓝宙(江苏)技术有限公司 | 一种绘画机器人及其控制方法 |
CN115756175B (zh) * | 2023-01-06 | 2023-05-16 | 山东维创精密电子有限公司 | 一种基于虚拟现实数据的数据处理*** |
CN116795222B (zh) * | 2023-06-20 | 2024-03-29 | 广东工业大学 | 一种基于OpenCV图像识别的数字毛笔 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710608A (zh) * | 2005-07-07 | 2005-12-21 | 上海交通大学 | 机器人绘制人脸漫画的图像处理方法 |
CN105945947A (zh) * | 2016-05-20 | 2016-09-21 | 西华大学 | 基于手势控制的机器人写字***及其控制方法 |
CN106826822A (zh) * | 2017-01-25 | 2017-06-13 | 南京阿凡达机器人科技有限公司 | 一种基于ros***的视觉定位及机械臂抓取实现方法 |
CN107127753A (zh) * | 2017-05-05 | 2017-09-05 | 燕山大学 | 一种基于脱机文字识别的仿生写字机械手书写汉字*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460369B (zh) * | 2018-04-04 | 2020-04-14 | 南京阿凡达机器人科技有限公司 | 一种基于机器视觉的绘图方法及*** |
-
2018
- 2018-04-04 CN CN201810297791.7A patent/CN108460369B/zh active Active
- 2018-09-20 WO PCT/CN2018/106790 patent/WO2019192149A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710608A (zh) * | 2005-07-07 | 2005-12-21 | 上海交通大学 | 机器人绘制人脸漫画的图像处理方法 |
CN105945947A (zh) * | 2016-05-20 | 2016-09-21 | 西华大学 | 基于手势控制的机器人写字***及其控制方法 |
CN106826822A (zh) * | 2017-01-25 | 2017-06-13 | 南京阿凡达机器人科技有限公司 | 一种基于ros***的视觉定位及机械臂抓取实现方法 |
CN107127753A (zh) * | 2017-05-05 | 2017-09-05 | 燕山大学 | 一种基于脱机文字识别的仿生写字机械手书写汉字*** |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019192149A1 (zh) * | 2018-04-04 | 2019-10-10 | 南京阿凡达机器人科技有限公司 | 一种基于机器视觉的绘图方法及*** |
CN109940611A (zh) * | 2019-02-26 | 2019-06-28 | 深圳市越疆科技有限公司 | 轨迹复现方法、***及终端设备 |
CN114055468A (zh) * | 2019-02-26 | 2022-02-18 | 深圳市越疆科技有限公司 | 轨迹复现方法、***及终端设备 |
CN114055468B (zh) * | 2019-02-26 | 2023-08-18 | 深圳市越疆科技有限公司 | 轨迹复现方法、***及终端设备 |
CN109993680A (zh) * | 2019-04-04 | 2019-07-09 | 中科云创(厦门)科技有限公司 | 字迹模仿方法、装置、电子设备及计算机可读介质 |
CN110033498A (zh) * | 2019-04-18 | 2019-07-19 | 吉林大学 | 一种椭圆/矩形螺旋线一笔画效果的图案处理方法 |
CN110524549A (zh) * | 2019-08-19 | 2019-12-03 | 广东智媒云图科技股份有限公司 | 一种基于机械臂和铆钉枪的作画方法、装置及*** |
CN110587620A (zh) * | 2019-08-30 | 2019-12-20 | 重庆智能机器人研究院 | 工业机器人写绘方法、***、工件加工方法和计算机设备 |
CN111125403A (zh) * | 2019-11-27 | 2020-05-08 | 浙江大学 | 一种基于人工智能的辅助设计绘图方法及*** |
CN111125403B (zh) * | 2019-11-27 | 2022-07-05 | 浙江大学 | 一种基于人工智能的辅助设计绘图方法及*** |
CN111047671A (zh) * | 2019-12-24 | 2020-04-21 | 成都来画科技有限公司 | 一种手绘图片的绘画路径的优化方法及存储介质 |
CN111047671B (zh) * | 2019-12-24 | 2023-05-16 | 成都来画科技有限公司 | 一种手绘图片的绘画路径的优化方法及存储介质 |
CN111185902A (zh) * | 2019-12-30 | 2020-05-22 | 深圳市越疆科技有限公司 | 基于视觉识别的机器人文字书写方法、装置和书写*** |
CN111185903A (zh) * | 2020-01-08 | 2020-05-22 | 浙江省北大信息技术高等研究院 | 控制机械臂绘制人像画的方法、装置及机器人*** |
CN111195912B (zh) * | 2020-01-08 | 2021-06-15 | 杭州未名信科科技有限公司 | 利用机械臂绘制肖像画的方法、装置、机器人及存储介质 |
CN111168676B (zh) * | 2020-01-08 | 2021-06-15 | 杭州未名信科科技有限公司 | 机械臂手眼协作绘画方法、装置、绘画机器人及介质 |
CN111185903B (zh) * | 2020-01-08 | 2022-05-13 | 杭州未名信科科技有限公司 | 控制机械臂绘制人像画的方法、装置及机器人*** |
CN111251309A (zh) * | 2020-01-08 | 2020-06-09 | 浙江省北大信息技术高等研究院 | 控制机器人绘制图像的方法、装置、机器人及介质 |
CN111195912A (zh) * | 2020-01-08 | 2020-05-26 | 浙江省北大信息技术高等研究院 | 利用机械臂绘制肖像画的方法、装置、机器人及存储介质 |
CN111168676A (zh) * | 2020-01-08 | 2020-05-19 | 浙江省北大信息技术高等研究院 | 机械臂手眼协作绘画方法、装置、绘画机器人及介质 |
CN112959320A (zh) * | 2021-02-08 | 2021-06-15 | 广州富港万嘉智能科技有限公司 | 控制机械手自动书写的方法及装置、机械手、*** |
CN112975958A (zh) * | 2021-02-08 | 2021-06-18 | 广州富港万嘉智能科技有限公司 | 文字的笔顺的路径点生成方法及装置、机械手控制*** |
CN114332985A (zh) * | 2021-12-06 | 2022-04-12 | 上海大学 | 一种基于双机械臂协同的肖像轮廓智能绘制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2019192149A1 (zh) | 2019-10-10 |
CN108460369B (zh) | 2020-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108460369A (zh) | 一种基于机器视觉的绘图方法及*** | |
CN109664300B (zh) | 一种基于力觉学习的机器人多风格书法临摹方法 | |
CN106384094A (zh) | 一种基于书写风格建模的中文字库自动生成方法 | |
JP2000259827A (ja) | テンプレートを用いて物理オブジェクトを認識する方法及びシステム | |
CN109746916B (zh) | 一种机器人书写书法的方法及*** | |
CN105500370B (zh) | 一种基于体感技术的机器人离线示教编程***及方法 | |
CN105957129B (zh) | 一种基于语音驱动及图像识别的影视动画制作方法 | |
CN106530388A (zh) | 一种基于二维图像的3d打印装置及其三维建模方法 | |
CN113927597B (zh) | 基于深度学习的机器人连接件六自由度位姿估计*** | |
CN104537705A (zh) | 基于增强现实的移动平台三维生物分子展示***和方法 | |
CN113343840B (zh) | 基于三维点云的对象识别方法及装置 | |
CN101697234A (zh) | 一种基于笔画分段建模的手写汉字隶书美化方法 | |
CN110335342B (zh) | 一种用于沉浸式模拟器的手部模型实时生成方法 | |
CN108010122A (zh) | 一种人体三维模型重建与测量的方法及*** | |
CN103823628A (zh) | 结合笔压的毛笔字笔锋模拟方法 | |
US11383386B2 (en) | Robotic drawing | |
CN108961393A (zh) | 一种基于点云数据流的人体建模方法及装置 | |
CN113246131A (zh) | 运动捕捉方法、装置、电子设备以及机械臂控制*** | |
CN111078008B (zh) | 一种早教机器人的控制方法 | |
CN109859306A (zh) | 一种基于机器学习的从照片中提取人体模型的方法 | |
CN116206189A (zh) | 一种曲面图形标识码及其识别方法 | |
CN110176074B (zh) | 基于等几何配点法的浅浮雕模型快速建模方法 | |
CN114241486A (zh) | 一种提高识别试卷学生信息准确率的方法 | |
CN109591012B (zh) | 加强学习方法、机器人和存储介质 | |
CN111008573A (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 |