C++ 如何删除OpenCV中的关键点匹配线

C++ 如何删除OpenCV中的关键点匹配线,c++,opencv,C++,Opencv,我想删除线和关键点。 除了drawMatches之外,还有其他功能吗?或者我可以在drawMatches中使线条和关键点不可见吗 Mat img_matches; drawMatches( img_object, keypoints_object, img_scene, keypoints_scene, good_matches, img_matches, Scalar::all(-1), Scalar::all(-1), std::vector<

我想删除线和关键点。 除了
drawMatches
之外,还有其他功能吗?或者我可以在
drawMatches
中使线条和关键点不可见吗

Mat img_matches;
drawMatches( img_object, keypoints_object, img_scene, keypoints_scene,
           good_matches, img_matches, Scalar::all(-1), Scalar::all(-1),
           std::vector<char>(), DrawMatchesFlags::NOT_DRAW_SINGLE_POINTS );
Mat img_匹配;
绘图匹配(img_对象、关键点_对象、img_场景、关键点_场景、,
良好的匹配,img匹配,标量::all(-1),标量::all(-1),
std::vector(),DrawMatchesFlags::NOT_DRAW_SINGLE_POINTS);

您可以使用
matchesMask
参数屏蔽所有匹配项:

Mat img_matches;
std::vector<char> mask_matches(good_matches.size(), 0);
drawMatches( 
    img_object, 
    keypoints_object, 
    img_scene, 
    keypoints_scene,
    good_matches, 
    img_matches, 
    Scalar::all(-1), 
    Scalar::all(-1),
    mask_matches, // <----
    DrawMatchesFlags::NOT_DRAW_SINGLE_POINTS 
);
Mat img_匹配;
向量掩码匹配(良好匹配.size(),0);
抽签比赛(
img_对象,
对象的关键点,
img_现场,
关键点(现场),
好的比赛,
img_比赛,
标量::all(-1),
标量::all(-1),

mask_matches,//如果你不想绘制匹配,为什么要调用
drawMatches
?@Miki用于img_匹配。我使用line函数绘制绿线。line(img_匹配,场景_角[0]+Point2f(img_object.cols,0),场景_角[1]+Point2f(img_object.cols,0),标量(0,255,0),4);