How to convert an image from 3d to 2d?

1 visualización (últimos 30 días)
Richa Nayak
Richa Nayak el 1 de Nov. de 2012
I got following error while processing it.
Error using ==> iptcheckinput Function HISTEQ expected its first input, I, to be two-dimensional.
Error in ==> histeq at 71
iptcheckinput(a,{'uint8','uint16','double','int16','single'}, ...
Error in ==> Project_Stage_1 at 9
I2 = histeq(f); %improve contrast
  2 comentarios
Matt J
Matt J el 1 de Nov. de 2012
Well, why doubt the error message? Is f two-dimensional or isn't it?
Richa Nayak
Richa Nayak el 11 de Nov. de 2012
The image is 3d i think. that is f. I need to convert it to 2d for running the prog apparantly. I cant upload the image here. ne suggestions?

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 1 de Nov. de 2012
You can't do it on a color image. You can do it on each color channel, one at a time,
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
or convert to hsv colorspace
% Extract the individual red, green, and blue color channels.
hsv = rgb2hsv(rgbImage);
hChannel = hsv (:, :, 1);
sChannel = hsv (:, :, 2);
vChannel = hsv (:, :, 3);
and do it on the v channel - this is the best way and it avoids severe color artifacts like you'll have doing it in RGB space.

Categorías

Más información sobre Image Processing Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by