مقایسه دو تصویر با HOG در OpenCV - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مقایسه دو تصویر با HOG در OpenCV

0 امتیاز
سلام.

قصد دارم دو تصویر را بر اساس ویژگی HOG با هم مقایسه کنم آیا OpenCV توابعی برای اینکار داره؟ البته بگم تصاویر من مستطیلی است مشکلی نیست ؟
سوال شده آبان 11, 1398  بوسیله ی ابید (امتیاز 781)   19 89 106

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

مستطیلی باشه مشکلی نیست ولی باید مضربی از 8 باشه به صورت زیر ویژگی HOG از تصویر قابل استخراج هستش.

void getHOGFeatures(const Mat& image, Mat& features) {
  //HOG descripter
  HOGDescriptor hog(cvSize(128, 64), cvSize(16, 16), cvSize(8, 8), cvSize(8, 8), 3); //these parameters work well
	std::vector<float> descriptor;

  // resize input image to (128,64) for compute
	Size dsize = Size(128,64);
	Mat trainImg = Mat(dsize, CV_32S);
	resize(image, trainImg, dsize);

  // compute descripter
	hog.compute(trainImg, descriptor, Size(8, 8));

  // copy the result
	Mat mat_featrue(descriptor);
	mat_featrue.copyTo(features);
}

 

پاسخ داده شده آبان 15, 1398 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
انتخاب شد آبان 19, 1398 بوسیله ی مصطفی ساتکی
ممنون . الان با کدی که قرار دادید فیچر HOG را محاسبه می کنم ولی چطور scale invariant و shift invariant مقایسه کنم اگر این دو نباشه حتی تصاویر خیلی شبیه به هم رو هم نمیشه مقایسه کرد
...