在Matlab中获取inlier点的坐标

时间:2015-04-09 05:49:48

标签: matlab image-processing coordinates pixels matlab-cvst

我需要找到使用impixel()在对象检测中获得的内部点的像素值。我使用的代码与link

中的示例相同

如何获得关于图像尺寸的内点的x,y坐标。(图像的左上角被视为0行,0 col)以便我可以使用坐标以找到它们各自的像素值。我无法在Matlab中找到与C++中的KeyPoint对象相同的任何解决方案,它可以轻松地提供坐标值。

1 个答案:

答案 0 :(得分:0)

此处您不需要impixelimpixel可让您从图中显示的图像中获取像素值,这不是您要执行的操作。

在您使用的示例中,inlierBoxPointsinlierScenePoints是SURFPoints对象。您可以将点的(x,y)位置设为inlierBoxPoints.Location。然后你可以得到第i个点的像素值,如下所示:

loc = round(inlierBoxPoints.Location(i, :));
pixVal = boxImage(loc(2), loc(1), :);

请记住,在MATLAB中,图像被索引为(row,col),左上角像素为(1,1),而不是(0,0)。您必须舍入坐标,因为以子像素精度检测点。