MATLAB Answers


applying kmeans for ROI in Image

Asked by FIR
on 31 Jan 2013
I have a image below
here i have detected surf features and have draw circle over it,now i want to apply k means for that surf features inside that blue circle,please assist
for whole image i used code
cform = makecform('srgb2lab');
lab_he = applycform(I,cform);
ab = double(lab_he(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;
% repeat the clustering 3 times to avoid local minima
[cluster_idx cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean', ...

but how to apply for surffeatures inside circle


on 31 Jan 2013

how to select those surf features

use roipoly, after drawing the ROI, double click it to give mask...

on 31 Jan 2013

but rioploy gives a binary image , i need to apply k means surf features



No products are associated with this question.

1 Answer

Answer by Image Analyst
on 31 Jan 2013

Get a mask for each circle (say by using code from the FAQ) and then get the pixel values inside by doing:

pixelValuesInsideCircle = grayImage(circleMask);


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!