-1

An example of detectSURFFeatures in comparison of 2 image is in below. I couldn't make detectSURFFeatures function work in my MATLAB. no help or doc detectSURFFeatures gives any clue. the error says " > UncalibratedSterio Undefined function 'detectSURFFeatures' for input arguments of type 'uint8'." but the function itself can cover uint8 as i know. what should i do?

%Rectified Sterio Image Uncalibrated
%   There is no calibration of cameras
I1 = rgb2gray(imread('right_me.jpg'));
I2 = rgb2gray(imread('left_me.jpg'));
Value = 2000.0;
blobs1 = detectSURFFeatures(I1, 'MetricThreshold', Value);
blobs2 = detectSURFFeatures(I2, 'MetricThreshold', Value);
figure;
imshow(I1);
hold on;
plot(selectStrongest(blobs1, 30));
title('Thirty strongest SURF features in I1');
figure;
imshow(I2);
hold on;
plot(selectStrongest(blobs2, 30));
title('Thirty strongest SURF features in I2');
rayryeng
  • 102,964
  • 22
  • 184
  • 193

1 Answers1

2

You are getting that error because detectSURFFeatures does not exist in your MATLAB distribution. You must have at least R2011b, as that was when detectSURFFeatures was available: http://www.mathworks.com/help/vision/release-notes.html#R2011b

I suspect you have an older version of MATLAB than R2011b and so if you want to make it easy on yourself, you need to upgrade your version of MATLAB. However, if I may make a suggestion, I suggest the mexopencv project by Kota Yamaguchi: http://kyamagu.github.io/mexopencv/

He wrote OpenCV wrappers that can directly interface with MATLAB and so you can actually call OpenCV's SURF feature detection and matching methods from MATLAB but you will need to install OpenCV to do that. It will be a bit of work to get it working, but this is one solution I can provide if you don't want to upgrade your version of MATLAB.

Good luck!

rayryeng
  • 102,964
  • 22
  • 184
  • 193
  • i got R_2014b edition in my mac. I will check Kota. So what are the possible other reasons? – Kont Yiğit Psn Jun 06 '15 at 07:30
  • @KontYiğitPsn - (1) You have the student version of MATLAB and you have the toolbox but don't have that function. (2) You don't have the Computer Vision Toolbox. Either way, check Kota's project because the only other option for you is to upgrade your version of MATLAB. – rayryeng Jun 06 '15 at 14:28
  • 1
    @KontYiğitPsn - Type in `ver` in MATLAB and push ENTER. Do you see the Computer Vision Toolbox as part of the list? – rayryeng Jun 06 '15 at 19:06