Hello, I made a program with the following code:
I = imread('ppc.png');
corners = detectFASTFeatures(I,'MinContrast',0.1);
J = insertMarker(I,corners,'circle');
imshow(J);
and shows me the following error
Error using vision.internal.detector.fast.parseInputs (line 4)
Expected I to be of size MxN when it is actually size 255x559x3.
Error in detectFASTFeatures>parseInputs (line 97)
params = vision.internal.detector.fast.parseInputs(I, varargin{:});
Error in detectFASTFeatures (line 63)
params = parseInputs(I, varargin{:});
Error in zz (line 2)
corners = detectFASTFeatures(I,'MinContrast',0.1);

Réponses (3)

Walter Roberson
Walter Roberson le 25 Mai 2015

0 votes

points = detectFASTFeatures(I) returns a cornerPoints object, points. The object contains information about the feature points detected in a 2-D grayscale input image, I.
You are not passing in a grayscale image, you are passing in a color image.
Dima Lisin
Dima Lisin le 26 Mai 2015
Modifié(e) : Dima Lisin le 26 Mai 2015

0 votes

Hi Massimo,
As Walter pointed out, detectFASTFeatures takes a grayscale image. Please use rgb2gray to convert I to grayscale.
Massimo Colavita
Massimo Colavita le 26 Mai 2015
Modifié(e) : Walter Roberson le 27 Mai 2015

0 votes

Thanks. Another question, I want to detect circles in the image: Why I see the whole picture 3 blank? and How should I apply the function "Strel"?
I = imread('ppc.png');
gr = rgb2gray(I);
level = graythresh(gr);
bw = im2bw(gr, level);
figure, imshow(bw);
title(1)
bw2 = bwareaopen(bw, 200);
figure, imshow(bw2);
title(2)
bw3 = imfill(bw2, 'holes');
figure;
imshow(bw3);
title(3);

Catégories

En savoir plus sur Image Processing and Computer Vision dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by