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 ビュー (過去 30 日間)
古いコメントを表示
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');
0 件のコメント
採用された回答
KSSV
2018 年 5 月 29 日
Try:
ab = double(reshape(ab,nrows*ncols,2));
ab is of class uint8. Convert it to double.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Numeric Types についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!