:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
:文章若有幸对你有帮助,可点赞 收藏 ⭐不迷路
:内容若有错误,敬请留言 指正!原创文,转载请注明出处
利用灰度模板的方法进行匹配,而灰度值受物体所处位置和光照等因素影响,因此该方法受灰度值的影响较大,灰度变换抗干扰的能力不强。创建的模板是选定的区域,后面进行搜索的时候就是根据该区域相近的灰度值进行匹配。
基于灰度的模板匹配步骤:
*导入图像
Image Acquisition 01: Code generated by Image Acquisition 01
open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'gray', -1, 'false', 'default', '[1] DroidCam Source 3', 0, -1, AcqHandle)
grab_image_start (AcqHandle, -1)
grab_image_async (Image, AcqHandle, -1)
gen_circle (ROI_0, 314.967, 357.324, 52.8629)
reduce_domain (Image, ROI_0, ImageReduced)
*创建模板
pi:=acos(0.0)*2
create_template_rot (ImageReduced, 4, -pi, 2*pi, pi/45, 'sort', 'original', TemplateID)
dev_set_draw ('margin')
dev_set_color ('red')
while (true)
*搜索
grab_image_async (Image, AcqHandle, -1)
best_match_rot_mg (Image, TemplateID, -pi, 2*pi, 40, 'true', 4, Row, Column, Angle, Error)
disp_circle (3600, Row, Column, 52.8629)
* Image Acquisition 01: Do something
endwhile
close_framegrabber (AcqHandle)
识别物体是校徽的背面,利用灰度变换创建模板。从上图可以看出效果并不好,红色圆框识别到其他地方。
调整光照和校徽的位置,再进行识别,如下图所示: