EDA365电子论坛网
标题:
基于标记的形状检测
[打印本页]
作者:
Mhza
时间:
2019-12-2 10:18
标题:
基于标记的形状检测
某些游戏,当用户在触摸屏上输入一个形状(圆、矩形、三角形等)后,应用根据接收到的不同形状来执行不同的操作,但如何判断用户输入的形状类型是此应用的主要问题。
" W/ ?9 ^* ]8 x! a0 [0 J
8 V! s+ |4 ?1 D! y2 C' x/ `5 I
为了解决此问题,下面介绍一种基于标记法的形状识别算法。
+ ^; X3 k% P! y$ f3 [2 N
! p9 R' r- v. h7 I; [' j0 N$ W
对于输入图像,我们需寻找一种表示方法,来区分出所有形状(为了说明这里我们只识别圆、矩形、三角形三种不同的形状,其他形状可对算法进行扩展),无论是何种表示方法,必须对图像的平移、旋转、收缩不敏感。
/ y9 h0 p6 n9 g3 C) E
3 {. m; Q2 f% p$ w% `4 Y$ u+ @. @
下面介绍基于标记的形状检测算法:
% A* g2 u/ Q# M! [0 H3 H
B' I$ n1 }- o( J) A. x) L
1、获得形状的轮廓坐标;
+ x/ J0 B* A' i: a
# ]+ K* Y B6 E. h, F' L
2、将轮廓坐标转换为相应的极坐标(theta-rho),这里我们主要关心rho,rho为轮廓上的点到该形状重心的距离;
) R! H) i$ h3 J3 |* C& I. j4 \* P
/ T' ]4 U1 X: o% q3 k9 e
3、根据rho的特征区分各个形状。
) r0 f5 \9 _# u
2 k$ }5 j( C4 Z/ w2 ]6 F
根据第2步得到的theta-rho关系图(如下图所示)可以得知,圆形的最小rho相对较大;矩形有四个明显的峰值;三角形有三个明显的峰值。故可以利用此特性来区分形状。
7 l9 ]% u$ \6 i1 T. _
201641vrjaocxo1c80ojop.jpg
(32.2 KB, 下载次数: 7)
下载附件
保存到相册
2019-12-2 10:16 上传
& s7 s \/ |) d& I2 K" ]+ k
5 e6 P, r! m# v; n/ R, K; y; y! H
作者:
fawa
时间:
2019-12-2 18:15
学习学习
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2