- 我有一个尺寸为 300x300的已处理二进制图像。此处理后的图像包含很少的对象(人或车辆)。
- 我还有另一个640x480 维度的相同场景的RGB 图像。它取自不同的位置
注意:两个相机不一样
我可以使用背景减法在第一张图像中检测到某种程度的对象。我想检测第二张图像中的相应对象。我经历了opencv函数
所有这些功能都需要两个图像中的对应点(坐标)
在第一张二值图像中,我只有对象存在的信息,它没有与第二张图像(RGB)完全相似的特征。
我认为传统的特征匹配来确定可用于估计变换参数的相应控制点是不可行的,因为我认为我无法确定和匹配来自二进制和 RGB 图像的特征(对吗??)。
如果我错了,我可以取什么特征,我应该如何进行特征匹配,找到对应点,估计转换参数。
我尝试了更多手动标记来估计转换参数的解决方案(如果我错了请纠正我)
注意:两台摄像机都没有移动。
- 已处理图像中对象周围的手动标记矩形(二进制)
- 记下矩形的坐标
- 手动标记第二个 RGB 图像中对象周围的矩形
- 记下矩形的坐标
- 对第一个二进制和第二个 RGB 图像的不同样本重复上述步骤
现在我有大约 20 个对应点,我在函数中将它们用作:
findHomography(src_pts, dst_pts, 0) ;
所以一旦我在第一张图片中检测到一个物体,
我在它周围画了一个边界框,
使用上面找到的变换变换顶点的坐标,
最后在第二个 RGB 图像中绘制一个框,转换后的坐标为顶点。
但这并没有将第二个 RGB 图像中的框标记在人/对象上。相反,它被绘制在其他地方。虽然我拿了几张二值和RGB的样本图像,并使用了几个对应点来估计变换参数,但似乎它们不够准确..
CV_RANSAC 和 CV_LMEDS 选项的含义是什么,ransacReprojecThreshold 以及如何使用它们?
我的方法好吗...我应该修改/做什么以使注册准确?
可以使用任何替代方法吗?