Java для ImageJ.Как преобразовать изображение из RGB до 8 битов с помощью кода?

StackOverflow https://stackoverflow.com//questions/23065325

Вопрос

Я в настоящее время работаю над подключенной маркировкой компонентов. Это процесс, который делает изображение и говорит вам, сколько отдельных объектов находятся на изображении.

Моя проблема заключается в том, что в самом начале я должен быть в состоянии сделать любое изображение (конкретно 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();
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top