%Read image
im = im2double(imread('1.png'));
%Convert RGB to GRAY via PCA
lab = rgb2lab(im);
f = 0;
wlab = reshape(bsxfun(@times,cat(3,1-f,f/2,f/2),lab),[],3);
[C,S] = pca(wlab);
S = reshape(S,size(lab));
S = S(:,:,1);
gray = (S-min(S(:)))./(max(S(:))-min(S(:)));
These error occurs when I try to run the code...
Error using images.color.ColorConverter/convert (line 218)
Mismatch between input size and the expected number of input color
components.
Error in images.color.ColorConverter/evaluate (line 364)
out = convert(self, in);
Error in images.color.internal.Callable/subsref (line 15)
[varargout{1:nargout}] = self.evaluate(s(1).subs{:});
Error in rgb2lab (line 65)
lab = converter(rgb);
Error in PCA1 (line 8)
lab = rgb2lab(im);
Can anyone explain to me why? I don't quite understand the error...

 Réponse acceptée

KSSV
KSSV le 1 Juin 2018

0 votes

YOur image happens to be a gray image....I mean it is only 1D pixel data. If your image were color image i.e RGB image, then no error will pop out. Check your image. Give RGB image as input.

3 commentaires

athirahlan
athirahlan le 1 Juin 2018
I did try the RGB images, as you said no error occurs.
My actual input image is from a mammographic images, I did try with other mammpographic image and it works, It just not works with my mammographic images...
Thank you so much, your answer helps me understands the error much better
KSSV
KSSV le 1 Juin 2018
Check the dimensions of working images and non-working images.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by