手绘几何图形识别(下)

四.图元识别

图元是组成图形的最小单元,图元识别是图形识别的基础。在笔画分割的基础上,对分割出来的图元进一步识别。

1.直线识别

直线的特征具有线性化,假设收集的采样点是P(Xi,Yi),i=1,2,3...n。

线性化判断有下面三种方法:

1)图元首位点的距离,和采样点序列的累计弦长的比值,是否大于一个给定阈值

2)图元上采样点到首位点连成直线的距离超过阈值的点的个数,是否在允许范围内

3)图元的外接矩形长宽比是否小于某一阈值

2.直线拟合(最小二乘法)

直线拟合采用最小二乘法,设y=f(x)=a+bx为拟合直线方程。

d为点序列S={p(Xi,Yi)|i=0,1,2...n}到拟合直线的距离。

偏差平方和最小时,拟合度最高。

将a、b值带入线性方程y=a+bx,即得到回归直线方程。

2.提取几何特征参数

凸包 外切矩形 最大内接三角形 最大内接四边形

3.第一特征比值示例


图形类型


第一特征比值



凸包周长平方/凸包面积


线


外切矩形高度/外切矩形宽度


长方形


凸包面积/外切矩形面积


椭圆


最大内切四边面积/凸包面积


三角形


最大内切三角形面积/凸包面积


菱形


最大内切三角形面积/最大内切四边形面积


梯形


最大内切四边形面积/外切矩形面积


五角星


最大内切三角形面积/外切矩形面积

五.特征点选取

识别出是哪种图形之后,相应的找出特征点,特征点选取的好坏,直接影响了最后绘制图形的好坏。主要参考的是绘制速度和曲率2个参数。

曲率的计算公式:k=△φ/△S

其中:△φ表示切线倾角变化值,△S表示曲线的弧长。 △φ=atan(△y/△x)作为曲线在点P处角度变化值; 从曲率的定义可以看出,在切线倾角改变相同的情况下,两点间距离越小, 曲率越大。这一特性非常适用于判断特征点,因为笔划中特征点处采样点之间 的距离较小,而角度变化较大。

但是当笔划含有较多噪声时,该方法计算出噪声点处的曲率较大,真正的特征点曲率也比较大,这就无法区分出真正的特征点和由噪声引起的特征点。 采用ODR(orthogonal distance regression)方法求曲线在某点的切线方向。该方法是用直线拟合的方法来寻找一条过该点直线,使得该点邻域内的各点到该直线的距离之和最小,然后取该直线与X轴的夹角作为该点的切线方向。 对于曲线上某点P。

ODR方法求切线方向:

再通过均值滤波法求出特征点。进行绘制。

时间: 2024-11-03 05:34:07

手绘几何图形识别(下)的相关文章

UI设计培训中所需要的手绘能力

一.漫画 主要不是绘画能力,更重分镜头,叙事能力,脚本编写能力,很多画的不好,但依然存活很多年的漫画还真不少,甚至可以证明,绘画能力的底线可以很低. 二.游戏原画 虽然工作内容是画画,但游戏世界观多数是架空世界观,历史及文明的视觉搭建.所以对历史符号,架空世界观,产品类型,研发流程实现等行业知识更重要. 三.影视 跟游戏差不多,但是你设计出来的东西都能实现.场景,道具,服装,你对施工,材料,拍摄效果,后期等相关知识得有足够了解.那些看起来都是画画的工作,其实绘画只是表达手段.是最最基础的一个职业

【美术之家】手绘中透视的原理、应用及其练习方法,要收藏的哦

了解透视原理.是在熟练掌握线条的基础上能否准确绘制线稿的一个至关重要的环节.透视原理一一我们在进行手绘图绘制时,是根据空间尺寸在二维平面进行三维空间表达在绘制过程中,我们假想眼球与需要绘制的物体之间有一平面存在.并将平面后的物体运用透视法则投射到平面之上,从而形成该物体在图面上的图像如下面俯视图所示,视点为我们所处的位置,图面为我们与物体间的假想平面,图面后的物体为我们需要表达的三维形态. 第一阶段: 练习的时候还没有建立很强的透视消失感,应借助辅助线找对消失点,并且掌握在任何角度下都能熟练地表

看到的一个手绘板,兼容移动端

这是网上的一个手绘板,中间还是有很多不足,但是也有很多可以学习的地方.我发上来仅供参考,代码见下: <!DOCTYPE html> <html> <head> <title>画板实验</title> <meta charset="UTF-8"> <meta name="viewport"content="width=device-width, initial-scale=1.0&

UWP 手绘视频创作工具 “来画Pro” 技术分享系列

今年年初时,我还在北京,在 Face++,做着人脸识别技术的 Windows 和 Android 端,做着人工智能终将实现世间所有美好的梦.这时的我已经离开 UWP,甚至 C# 很久了,写着 C++ 和 Java,当时真的没想过会再次回到 UWP 的阵营,直到 4 月份的时候,一次很偶然的机会,我的一位微软的朋友,也是 Face++的老朋友找到我询问我在 Face++ 的工作近况,本以为只是很久没联系之后的简单交流,直到他提到:在深圳,有一家叫做 "来画" 创业公司,做手绘视频工具和平

你大概走了假敏捷:认真说说敏捷的实现和问题(手绘版)

作者:薄玉桴,腾讯产品经理,关注项目管理.灵魂画手. 今天你敏捷了没有?"敏捷"在互联网和软件开发领域从涓涓细流逐渐演变为行业潮流,往小了说是改进了开发方法,往大了说是革了瀑布流式的命--把产品开发引向了快速迭代.小步快跑的路线上. 我们使用tapd写 feature,流转.跟踪任务,言必谈敏捷,然而我们是否真的走对了敏捷? 编辑注:tapd 是腾讯内部的敏捷项目管理系统. 1.朋友,你听说过敏捷么? 2.离开敏捷工具,我们怎么敏? 3.设计也要介入敏捷流程? 4.敏捷跟文档是对立的?

凡拓680 手绘板驱动盘镜像

Funtuos680驱动: http://pan.baidu.com/s/1skeTncx 说明:凡拓680手绘板驱动光盘镜像.前几天从网上下的不能用,特地找到光盘拷下来一份.就是这个手绘板的驱动,如下图.

UWP 手绘视频创作工具技术分享系列

开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做一个全新的 “来画Pro” 出来,历经三个月的世间,这个产品终于正式上架. (做个小广告,在 Windows 应用商店搜索 “来画Pro” 就可以找到,目前公司定位为收费应用,但是有一个月试用期,如果大家感兴趣,可以跟我要免费代码.这里是 IT之家的报道:https://www.ithome.com

一个手绘板,兼容移动端

12:00:14 这是网上的一个手绘板,中间还是有很多不足,但是也有很多可以学习的地方.我发上来仅供参考,代码见下: <!DOCTYPE html> <html> <head> <title>画板实验</title> <meta charset="UTF-8"> <meta name="viewport"content="width=device-width, initial-s

同步手绘板——项目开发计划

背景: 用户在使用PC电脑进行手绘创作时,普通的鼠标,键盘等输入设备往往不能满足手绘需要的灵活以及精细控制的需求,而移动设备(手机或平板)的输入方式是直接用手指或触摸笔在触摸屏幕上手绘,正好可以满足手绘的需要,但是移动设备的显示屏幕往往太小,为了解决手绘体验的问题,可将二者结合起来,PC端作为显示终端,移动端作为输入设备,用手指或触摸笔在移动端直接手绘时,PC端可以实时显示出绘制后的结果.这样就能不用购买其他数位板的情况下得到极佳的手绘体验. 项目简介: 开发一个将移动设备用作手绘输入板,PC端