in following code error is Error using + Integers can only be combined with integers of the same class, or scalar doubles. How to remove it

2 views (last 30 days)
rgb = imread('peppers.png'); %'D:\OLD L\HSV_segment\42049.jpg'
cform = makecform('srgb2lab');
lab = applycform(rgb,cform);
ab = lab(:,:,2:3);
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
nColors = 3;
[cluster_idx, cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean', 'Replicates',3);
pixel_labels = reshape(cluster_idx,nrows,ncols);
figure,imshow(pixel_labels,[]), title('image labeled by cluster index');

Accepted Answer

KSSV
KSSV on 29 May 2018
Try:
ab = double(reshape(ab,nrows*ncols,2));
ab is of class uint8. Convert it to double.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!