手绘几何图形识别(下)
四.图元识别
图元是组成图形的最小单元,图元识别是图形识别的基础。在笔画分割的基础上,对分割出来的图元进一步识别。
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方法求切线方向:
再通过均值滤波法求出特征点。进行绘制。
转载于:https://www.cnblogs.com/SeekHit/p/5046475.html
手绘几何图形识别(下)相关推荐
- 手把手:四色猜想、七桥问题…程序员眼里的图论,了解下?(附大量代码和手绘)...
长文预警!本文作者Vardan Grigoryan是一名后端程序员,但他认为图论(应用数学的一个分支)的思维应该成为程序员必备. 本文从七桥问题引入,将会讲到图论在Airbnb房屋查询.推特推送更新时 ...
- 解决win10下Photoshop2018CC手绘板画画变上下
有次用手绘板画画的时候, 手绘板的画笔变成上下了, 不能正常画画. 笔飘来飘去. 后来知道是因为win10系统更新导致, 那么把最近的更新卸载掉就可以了. 在系统设置里找到"更新和安全&qu ...
- 【动态】码绘VS手绘的对比——有点萌的开关
[动态]码绘VS手绘的对比--有点萌的开关 背景简介 主题 成果展示 前期分析 制作过程 体会与思考 参考资料 背景简介 上一次简单的通过静态的手绘与码绘对两者进行了一些简单的对比,这一次更加好玩了, ...
- 手绘地图深度解析:类型、风格、功能、价值、制作流程、智慧导览
本文概要:文本尝试系统性.多角度.全方位的介绍一下现在流行的手绘地图系统. 作者:轻轻的烟雾(z281099678) 一.手绘地图定义 什么是手绘地图?或者说,手绘地图到底是什么样的? 手绘地图首先是 ...
- 对比码绘与手绘——Motion graph
上一篇博客做的是静态画,那这篇当然要讲讲动态画.同样地,这次我们也是从思路.技术.创作体验.创作偏好等方面来比较码绘与手绘,讨论异同. 首先,展示一下作品: 码绘 利用P5.JS绘制作品 手绘 利用数 ...
- 手绘插画零基础怎么学?带你点线面轻松入门!
手绘插画零基础怎么学?带你点线面轻松入门!自学插画,可以这样说,说有100个想零基础自学插画的人,有99个入门即劝退,倒在了基础练习上,枯燥.乏味.惰性.欲望等等都会让你没法坚持下去,但万丈高楼平地起 ...
- 手绘vs码绘2——动态弓箭
手绘与码绘动态对比 前言 在上一次博客中,我们已经成功用代码重现了手绘的Q版小人,对手绘和码绘进行了几个方面的对比分析.不得不承认,码绘由于形状和编写时间的限制,在绘制静态图像的方面和手绘还是有很大差 ...
- 「精品」手绘游戏原画绘画学习的技巧
手绘游戏原画绘画学习的技巧,其实画画是把眼睛能看到的东西,用手和可用的工具,用科学的光影的理解方式,把眼前三维视觉立体的物体,实现在二维平面的画面中!因此,最初评价一张画好坏的标准,就是眼前看到的三维 ...
- 学习原画一定要会手绘素描吗?如何学习原画?
在贴吧论坛看到很多人都有这种想法,没有美术基础就不要学习原画了,如果要学原画.漫画.插画之类还是先报个美术班把基础打捞学习手绘素描,再报个大佬班吧,这种观念是不是对的呢? 第一有美术基础就一定可以学好 ...
- CVPR2020论文解读:手绘草图卷积网络语义分割
CVPR2020论文解读:手绘草图卷积网络语义分割 Sketch GCN: Semantic Sketch Segmentation with Graph Convolutional Networks ...
最新文章
- python程序员的工作内容_每个Python程序员都要知道的日志实践
- 分贝dB与放大倍数的转换关系及对照表
- easyui前端实现多选框_前端:Element UI 多选框组用法笔记
- python dict json读写文件
- wxpython应用程序对象与顶级窗口_wxPython 基础 | 学步园
- Swift - final关键字的介绍,以及使用场景
- KDE/QT vs GNOME/GTK
- boost::detail模块实现二分法查找的测试程序
- netframework 4.0内置处理JSON对象
- shell命令总结一
- 植物病害鉴定真的需要深度CNN吗?
- 6Linux 终端命令格式
- list筛选数据 python_「每日一练」巧用python对列表进行筛选
- 解锁小众网站 站在巨人的肩膀上
- Kylin中cube优化
- Cannot subclass final class org.springframework.boot.autoconfigure.AutoConfigurationPackages
- MCE公司:MCE 中国生命科学研究促进奖获奖论文集锦三
- 在本地电脑将ip与名字相关联
- 软件设计师---计算机系统
- 英飞凌芯片支持计划第二阶段申请计划(硅麦芯片已开启)
热门文章
- javax.validation.Validation使用方法
- matlab中矩阵的所有元素求和,matlab 矩阵元素求和、求均值(期望)和均方差
- 如果通过这次面试我们单位录用了你,但工作一段时间却发现你根本不适合这个职位,你怎么办?(保留)
- 2019杭电多校三 C. Yukikaze and Demons (点分治)
- [Bada开发]使用共享库
- 世界主要的11种气候类型特点及分布
- 百度商桥点击咨询自定义按钮
- directx 11 SDK
- Matlab_求最大特征值和特征向量
- 萧红二不二?人是在最日常的生活中流逝的……你窗边革命洪流过去的时候,可能你正在剥一颗鸡蛋