Pregunta

Actualmente estoy trabajando en el etiquetado de componentes conectado. Este es un proceso que toma una imagen y le dice cuántos objetos separados están en la imagen.

Mi problema es que al comienzo necesito poder tomar cualquier imagen (específicamente valor RGB) y convertirlo en 8 bits.

Editar: como en literalmente considerado un 8 bits, donde la imagen ya no se reconoce como RGB. No es una imagen de 8 bits que se reconoce como un RGB.

¿Hay alguna forma de usar el código para hacer esto automáticamente sin tener que entrar en la barra de herramientas y convertirla "manualmente"?

Para aclarar, estoy programando para ImageJ usando Java.

Si alguien está dispuesto a ayudarme, estaría encantado de proporcionarles el código que tengo hasta ahora donde estoy haciendo una imagen de color gris de color y luego lo hace binario. Mi problema es que después de los cambios, la imagen aún se considera RGB, aunque la imagen es esencialmente 8 bits.

gracias

Editar: Estaba mirando el código que me proporcionó antes y no parece resolver mi problema. Literalmente, solo quiero hacer que la pequeña "garrapata" que esté al lado de RGB, sea junto a 8 bits en su lugar. Ya he hecho toda la conversión real por mi cuenta, aún se reconoce como imagen RGB.

¿Fue útil?

Solución

Por favor, intente:

import ij.ImagePlus;
import ij.process.ImageConverter;

// ...

ImagePlus imp = IJ.getImage();
ImageConverter ic = new ImageConverter(imp);
ic.convertToGray8();
imp.updateAndDraw();

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top