C++ 如何在关键点中写入坐标?
我已经得到了我的图像的一个像素的坐标(例如C++ 如何在关键点中写入坐标?,c++,opencv,C++,Opencv,我已经得到了我的图像的一个像素的坐标(例如inti,j;),我怎样才能将它们写入像下面这样的向量中呢 std::vector<KeyPoint> keypoint_object; std::vector keypoint\u对象; 你可以上一节课: class Coordinate{ public: int x; int y; } 向量名; 坐标; 坐标x=1~ 坐标y=5~ 名称。推回(坐标); 这就是你要找的?我希望这对你有帮助 你可以上一节课: class
inti,j;
),我怎样才能将它们写入像下面这样的向量中呢
std::vector<KeyPoint> keypoint_object;
std::vector keypoint\u对象;
你可以上一节课:
class Coordinate{
public:
int x;
int y;
}
向量名;
坐标;
坐标x=1~
坐标y=5~
名称。推回(坐标);
这就是你要找的?我希望这对你有帮助 你可以上一节课:
class Coordinate{
public:
int x;
int y;
}
向量名;
坐标;
坐标x=1~
坐标y=5~
名称。推回(坐标);
这就是你要找的?我希望这对你有帮助 从中,我看到KeyPoint有一个构造函数,允许插入索引。然而,它需要一个额外的参数大小,我不知道你需要它是什么
然而,总体思路是:
keypoint_object.push_back(KeyPoint(i,j,0));
这里,i
和j
被隐式转换为float
(我假设这是您所需要的),第三个参数是0
(因为它是必需的)——您可能需要一个更合理的参数。从中,我看到有一个允许插入索引的KeyPoint构造函数。然而,它需要一个额外的参数大小,我不知道你需要它是什么
然而,总体思路是:
keypoint_object.push_back(KeyPoint(i,j,0));
在这里,
i
和j
被隐式转换为float
(我假设这是您所需要的),第三个参数是0
(因为它是必需的)——您可能希望在这里使用一个更合理的参数。几乎是这样,但有没有办法完全使用默认的KeyPoint类?因为我以后需要它?以后将是surfeaturedetector(400);detector.detect(img、keypoint_对象);其中std::vector keypoint_object
几乎可以,但是有没有一种方法可以精确地使用默认的keypoint类?因为我以后需要它?以后将是surfeaturedetector(400);detector.detect(img、keypoint_对象);其中std::vector keypoint_object
另一个问题,如我所见:keypoint(浮点x,浮点y,浮点大小,浮点角度=-1,浮点响应=0,整数倍频程=0,整数类id=-1);这意味着3d参数应该是“大小”,哪个大小?原因“0”-参数不起作用。@fen1kss:您可能应该将其作为单独的问题发布。我无法回答,因为我只知道接口的语法。这里可能有一些OpenCV专家也知道语义。另一个问题,正如我所看到的:关键点(浮点x,浮点y,浮点大小,浮点角度=-1,浮点响应=0,整数倍频程=0,整数类id=-1);这意味着3d参数应该是“大小”,哪个大小?原因“0”-参数不起作用。@fen1kss:您可能应该将其作为单独的问题发布。我无法回答,因为我只知道接口的语法。这里可能有一些OpenCV专家也知道语义。