关于opencv中Mat、 vector<Point2f>\ vector<Point3f>赋值的问题

在opencv中,最麻烦的问题就是电坐标的赋值,由于各种类型太多了
导致需要不停的转换,比如vector需要 vector类型之间的转换
这里需要注意的是
由于这个重要的符号,“=”等于号的重载
在Mat、 vector\ vector中相同类型之间的数据可以直接赋值
但是
对于Mat,=传递的是指针,所以需要使用.clone()进行浅拷贝

大家需要注意

Mat r_kejianguang2, t_kejianguang2,img_last, img_now;
vector points_last;
vector points3d_last,keypoints3d_last;
std::vector  keypoints_last;

img_last = img_2.clone(); 
keypoints_last = keypoints_2;
keypoints3d_last = points_3d;
cout<<"初始化结束"<

结果是

初始化结束
keypoints3d_last.size()498
points_3d.size()498
keypoints_1.size()500
keypoints3d_last.size()498
keypoints3d_last.size()0
points_3d.size()498
keypoints_1.size()500
keypoints3d_last.size()0

你可能感兴趣的:(c++,研发管理,opencv,计算机视觉,人工智能)