Java для ImageJ.Как преобразовать изображение из RGB до 8 битов с помощью кода?
Вопрос
Я в настоящее время работаю над подключенной маркировкой компонентов. Это процесс, который делает изображение и говорит вам, сколько отдельных объектов находятся на изображении.
Моя проблема заключается в том, что в самом начале я должен быть в состоянии сделать любое изображение (конкретно RGB значение) и преобразовать его в 8-битное.
Редактирование: как в буквальном смысле рассматривается 8bit, где изображение больше не распознается как RGB. Не 8-битный образ, который признан RGB.
Есть ли способ, используя код, чтобы автоматически сделать это без необходимости переходить на панель инструментов и преобразовать его «вручную»?
Чтобы уточнить, я программирую для ImageJ, используя java.
Если кто-то готов помочь мне, я был бы рад предоставить им код, который у меня есть так далеко, где я делаю цветное изображение серого цвета, а затем сделать его двоичным. Моя проблема заключается в том, что после изменения изображения все еще считаются RGB, даже если изображение по существу 8 бит.
Спасибо
Редактировать: Я смотрел в код, предоставленный мне ранее, и, похоже, не решает мою проблему. Я очень буквально просто хочу сделать немного «галочка», который рядом с RGB будет рядом с 8-битным вместо этого. Я уже сделал все фактические конвертации самостоятельно, это просто признано изображение RGB.
Решение
Пожалуйста, попробуйте:
import ij.ImagePlus;
import ij.process.ImageConverter;
// ...
ImagePlus imp = IJ.getImage();
ImageConverter ic = new ImageConverter(imp);
ic.convertToGray8();
imp.updateAndDraw();
.