基于opencv模板匹配的目标识别方法

  • 时间:
  • 浏览:0

你这个 是模板匹配?

模板匹配是你这个 用于查找与模板图像(补丁)匹配(类似于于)的图像区域的技术。

真是 补丁时要是一另另另两个矩形,由于并都有所有的矩形都有相关的。在你这个 清况 下,还可不可否 使用掩模来隔离应该用于找到匹配的补丁次责。

端点空间坐标输出

或者通过匹配得到焊缝位置,使用getPointXYZ将像素坐标(u,v)转化为相机坐标(x,y,z)。从而得到焊缝的空间坐标,后续将xyz传给机械臂,为手眼标定做准备。

源图像(工件)

模板图像(焊缝)

匹配结果

OpenCV在函数matchTemplate()中实现模板匹配。可用的最好的最好的办法有以下6种(我采取的上第二种):

它是怎么可否工作的?

其中由于matchTemplate的输入图像要求是三通道,而我得到的rgbd为四通道,时要使用cvtColor将四通道改为三通道(cv::cvtColor(rgbd, rgbd, COLOR_BGRA2BGR);)很关键,当时纠结了哪天。

关键代码

由于pcl的点云模板匹配遇到了各种困难,暂时先用opencv的模板匹配函数做一另另另两个简单的焊缝识别,看看效果。此最好的最好的办法的严重不足就在于物体和相机位置时要固定,只允许微小位移,或者数据将失效。

焊缝锁定

模板图像(T):将与模板图像进行比较的补丁图像

源图像--->模板图像--->匹配结果