Pergunta

Atualmente estou trabalhando na rotulagem de componentes conectados.Este é um processo que pega uma imagem e informa quantos objetos separados existem na imagem.

Meu problema é que logo no início preciso pegar qualquer imagem (especificamente valor RGB) e convertê-la em 8 bits.

EDITAR:como literalmente considerado um 8 bits, onde a imagem não é mais reconhecida como RGB.Não é uma imagem de 8 bits reconhecida como RGB.

Existe uma maneira de usar o código para fazer isso automaticamente sem precisar ir até a barra de ferramentas e convertê-lo "manualmente"?

Para esclarecer, estou programando para ImageJ usando Java.

Se alguém estiver disposto a me ajudar, ficarei feliz em fornecer o código que tenho até agora, onde estou criando uma imagem colorida em escala de cinza e depois tornando-a binária.Meu problema é que após as alterações a imagem ainda é considerada RGB, mesmo sendo essencialmente de 8 bits.

Obrigado

EDITAR:Eu estava olhando o código que me foi fornecido anteriormente e ele não parece resolver meu problema.Estou literalmente apenas querendo fazer com que o pequeno 'tick' que está próximo ao RGB esteja próximo de 8 bits.Já fiz toda a conversão sozinho, mas ainda é reconhecida como imagem RGB.

Foi útil?

Solução

Tente por favor:

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

// ...

ImagePlus imp = IJ.getImage();
ImageConverter ic = new ImageConverter(imp);
ic.convertToGray8();
imp.updateAndDraw();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top