Error reading images in code

%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...

 采纳的回答

KSSV
KSSV 2018-6-1

0 个投票

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 个评论

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
Check the dimensions of working images and non-working images.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Dimensionality Reduction and Feature Extraction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by