Согласно документации cv::ORB::create
, значение по умолчанию nfeatures
аргумент 500
:
Первый аргумент nfeatures
, вы можете установить первый аргумент в номер терки как 2000
.
Вот аргументы конструктора:
static Ptr<ORB> cv::ORB::create (int nfeatures = 500,
float scaleFactor = 1.2f,
int nlevels = 8,
int edgeThreshold = 31,
int firstLevel = 0,
int WTA_K = 2,
int scoreType = ORB::HARRIS_SCORE,
int patchSize = 31,
int fastThreshold = 20
)
Попробуйте изменить:
if (features_type == "orb")
{
finder = ORB::create();
}
на
if (features_type == "orb")
{
finder = ORB::create(2000);
}
Если вы не используете ORB , но о других типах функций читайте в документации конструктора.
Я предполагаю, что у всех типов есть аргумент-ограничитель.