سلام مجدد
گویا شما مطالب منو نخوندید
من گفتم تابعی که نقاط ویژگی رو پیدا میکنه احتمالا با نام featuredetection
خطوط پایینو ببینید این برای الگوریتم surf هست که روشی مشابه با sift هست
اون مقدار آستانه ای که گفتم اینجا 1100 انتخاب شده با تغییر اون می تونین تعداد نقاط کم یا زیاد کنین
cv::SurfFeatureDetector detector( 1100 );
std::vector<cv::KeyPoint> keypoints1;
std::vector<cv::KeyPoint> keypoints2;
detector.detect(rgb1,keypoints1);
detector.detect(rgb2,keypoints2);
روشی که شما گفتین روش مناسبی نیس که با کم کردن رزولوشن تعداد نقاط رو کم کنین
چون این طوری دارین اطلاعات تصویرو دور میریزین. بهتره این کارو بسپارین به خود الگوریتم sift و با تنظیم پارامترهاش این کارو بکنین.
البته اگه تصویرتون دارای رزولوشن خیلی بالایی هست میتونین تصویرو کوچک کنین مثلا رزولوشن 2000*3000 خیلی زیاده و باعث کندی برنامتونم میشه رزولوشن مناسب حدود 640*480 یا 800*600 هست البته بسته به کاربردتون شاید دقت بالا و نیاز به تفکیک پذیری بالا داشته باشین اون موقع رزولوشن بالا نیاز هس
|