基于SVD与角点检测的杂文字符号的聚类

 有以下这张文字与符号混合的图片,智能化目标是:找出类似的符号或文字,以便机器人去拾取:

在这里插入图片描述
本人测试了二种方案,现分享给大家:
方案一,划纵横格,从每一格子中读取RGB,存入矩阵中,再以SVD(矩阵奇异值分解)提取主对角线的前5个数据,再以欧氏距离找出五维向量的匹配者,也就是分类,截取部分数据如下表格:

690.3	430.9	354.9	282.4	228.3	<<<==[ 0,1 ]===
624	377.9	267.3	258.5	195.3	<<<==[ 0,2 ]===
626.7	368.2	277.8	246.6	193.5	<<--( 0,6 )--
617.9	381.9	275.5	254.7	208.9	<<--( 2,5 )--
634.1	371.7	269.7	246.6	188.1	<<--( 3,5 )--
625.6	383.1	262	256.7	205.4	<<--( 17,10 )--
902.7	405.9	372.6	300.4	236	<<<==[ 0,3 ]===
661.5	364.8	340.9	260.4	219.4	<<<==[ 0,4 ]===
649.5	363.3	329.5	268.3	213.1	<<--( 10,13 )--
651.7	387.5	330.6	293.5	256	<<<==[ 0,5 ]===
661.9	393.8	327.7	287.1	243.8	<<--( 7,4 )--
745.4	384.6	317	257.7	213.4	<<<==[ 0,7 ]===
747.6	412.5	351.1	306.7	291.2	<<<==[ 0,8 ]===
616.6	390.5	231.9	201.3	140.2	<<<==[ 0,9 ]===
717.1	372.1	307.2	260.8	200.8	<<<==[ 0,10 ]===
711.9	373.8	295.6	254.6	208.4	<<--( 7,0 )--
637.1	376.8	285.9	219.8	180.7	<<<==[ 0,11 ]===
645.5	375.4	282.9	233	186.2	<<--( 10,3 )--
638.5	382.9	276.9	219.9	190	<<--( 11,13 )--
634.2	378.3	295.7	221.7	184.1	<<--( 15,2 )--
626.7	379.3	290.4	221	196.3	<<--( 18,1 )--
631.4	376	272.8	218.6	185.7	<<--( 20,12 )--
668.2	371.1	289.4	247.3	223.2	<<<==[ 0,12 ]===
667.3	377.9	272.3	253.4	225.6	<<--( 3,10 )--

为方便观察,现以SVD的前三值生成的RGB框绘之:
在这里插入图片描述
在图片中不难发现,匹配错误的还真不少,当然其原因是SVD有主元素已经被自动排序了!

  方案二:腐蚀-->取连通域-->角点检测-->角点簇分类

首先上一张经过腐蚀后的图片:
在这里插入图片描述
在此基础上取Blobs,就不会将一些字的偏旁也拆开了,每一字基本是一个连通的域:
在这里插入图片描述

于是现在可对各Blobs[i]进行角点检测:
在这里插入图片描述最后,我将SVD匹配的优质结果与角点匹配的优质结果整合起来,框色取是SVD的:
在这里插入图片描述
这样就实现了机器人智能拾取,准确性大有提高.此类方案可应用于对小零件小产品的拾取与分类.
使用平台:Win7+C#2012, 引用库有:Accord,AForge,EmguCV.
-------------------- 原创: 微信[13058943056],于2020-03-08

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值