Java para ImageJ.¿Cómo convertir una imagen de RGB a 8 bits usando código?
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.
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();