Function IND2GRAY expected input number 2, MAP, to be a valid colormap.

10 visualizzazioni (ultimi 30 giorni)
Iam trying to read and convert color images to gray,
The code is :
[X,MAP]=imread(im);
x=ind2gray(X,MAP);
the images are BMP and they were jpg images and i convert them to BMP using online converter.
any help please ?
  2 Commenti
Walter Roberson
Walter Roberson il 16 Nov 2018
what shows up with imfinfo(im)
I suspect that it is not an indexed image , that the colormap is empty .
shawin
shawin il 16 Nov 2018
Modificato: shawin il 16 Nov 2018
imfinfo(im) is
Error using imfinfo (line 100)
Unable to open file "face6.bmp" for reading.
i attched the face6 file !!!

Accedi per commentare.

Risposta accettata

Jan
Jan il 16 Nov 2018
Maybe " i convert them to BMP using online converter" was a bad idea. Why don't you use the JPG files directly? Matlab can access then efficiently and is able to convert them the BMP also. Then the indirection over an "online converter" seems to be unnecessary.
"Unable to open file "face6.bmp" for reading." might mean, that you are in the wrong directoy or that the BMP file is corrupted. The image file can be opened in the browser without problems, so I assume that you can fix the input of imfinfo and provide the output.
Alternatively you can check the contents of Map by your own. Obviously it is not the required color map, so maybe it is empty, because X is an RGB image? In this case use rgb2gray instead.
[X,MAP]=imread(im);
if isempty(MAP)
gray = rgb2gray(X);
else
gray = ind2gray(X,MAP);
end
  1 Commento
Walter Roberson
Walter Roberson il 16 Nov 2018
>> imfinfo('face6.bmp')
ans =
struct with fields:
Filename: '/Users/roberson/MATLAB/4/430/430201/face6.bmp'
FileModDate: '16-Nov-2018 13:33:33'
FileSize: 108138
Format: 'bmp'
FormatVersion: 'Version 5 (Microsoft Windows 2000)'
Width: 180
Height: 200
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: 'BM'
NumColormapEntries: 0
Colormap: []
Notice "truecolor" and notice that Colormap is empty. It is not an indexed image.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by