Перевод изображения в градации серого java

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Преобразование цветного изображения в черно-белое C#

В статье рассмотрим алгоритм перевода цветного изображения в черно-белое и напишем его реализацию на языке C#. Приводится исходный код программы, написанной в Visual Studio – приложение Windows Forms.

Сразу оговоримся, что под преобразованием в черно-белое изображение будем понимать преобразование в оттенки серого. В рамках данного материала эти два понятия используются как синонимы.

Алгоритм преобразования в черно-белое изображение

Каждый пиксель изображения формируется при помощи сочетания четырех каналов: ARGB (Alpha, Red, Green, Blue), альфа-канала, красного, зеленого и синего.

Альфа-канал отвечает за прозрачность пикселя (100% – пиксель полностью непрозрачный, 0% – полностью прозрачный).

Сочетание значений RGB каналов определяет цвет пикселя.

Каждый канал несёт в себе 8 бит информации (1 байт), соответственно интенсивность канала может меняться в диапазоне от 0 до 255. Полностью пиксель занимает в памяти 32 бита (4 байта).

Для того, чтобы преобразовать цветное изображение в черно-белое, нужно найти среднее арифметическое значение R, G и B каналов пикселя и затем это значение присвоить RGB каналам этого же пикселя (то есть оно будет одинаковое). Альфа-канал оставляем без изменений.

Такую операцию нужно проделать с каждым пикселем изображения.

Программа для преобразования цветного изображения в черно-белое

Приступим к написанию приложения Windows Forms в среде разработки Visual Studio на языке программирования C#.

Создадим новый проект программы и разместим на форме 3 кнопки (Button) и два контейнера под изображения PictureBox. Кнопки понадобятся для: открытия изображения, преобразования в черно-белое (в оттенки серого) и сохранения преобразованной картинки на компьютер.

Свойства кнопок Text изменим на:

Имена кнопок (Name), используемые при разработке, изменим на:

Размеры обоих PictureBox (Size) сделаем равными 400 x 400 пикселей.

Чтобы вокруг границ PictureBox отображалась рамка в виде сплошной тонкой линии, установим значение свойства BorderStyle в положение FixedSingle.

Также у PictureBox свойство SizeMode сделаем равным Zoom. Данная настройка позволит автоматически масштабировать отображаемые изображения в соответствии с размером PictureBox, при этом сохраняя соотношения сторон исходной картинки.

Перейдём к написанию кода. Сначала закодируем обработку нажатий кнопок “Открыть” и “Сохранить”:

Источник

Преобразование десятичного изображения в оттенки серого в Java

У меня есть массив 2D, который содержит значения от 0-1.0, и моя цель-создать изображение, где каждый элемент соответствует цвету между белым и черным. Чем выше значение, тем больше белого и наоборот.

До сих пор я придумал следующий код Java:

Очевидно, что это не будет работать, так как это просто фиктивная функция, но скажем, у меня был элемент массива, arr[0][5] = 0.85. Как бы я мог преобразовать это в значение rgb, которое равно соответствующему значению цвета?

1 ответ

Я загружаю 24-битный образ RGB из файла PNG в свое приложение OpenCV. Однако загрузка изображения в оттенках серого непосредственно с помощью imread дает очень плохой результат. Mat src1 = imread(inputImageFilename1.c_str(), 0); Загрузка изображения RGB как RGB и преобразование его в оттенки.

Привет всем я хочу конвертировать все изображения в оттенки серого в моем каталоге, но код, который я знаю, делает эту задачу только один за другим!!Но у меня есть много изображений, и я хочу, если есть код, который преобразует все изображения в каталоге в оттенки серого или

Используйте тип изображения TYPE_INT_ARGB (цветное изображение поддерживает серый масштаб без проблем). Воспользуйся

чтобы задать целочисленное значение цвета для BufferedImage , здесь gray -это оттенок серого в диапазоне 0 .. 255. Если изображение огромно, чтобы избежать создания и сбора мусора большого количества объектов Color , вы можете реализовать какую-то серую шкалу для кэширования цвета.

Этот подход поддерживает только 255 уровней серого цвета. Вам может понадобиться более сложный подход, если требуется больше уровней. Если вы представляете некоторую измеренную физическую ценность в своем изображении, я бы предложил использовать цвет также для представления разных уровней. Такие ложные цветные изображения распространены в науке, поскольку они позволяют легче видеть больше уровней.

Похожие вопросы:

Как я могу преобразовать обычное изображение в оттенки серого изображения в windows phone 8. Есть ли какие-либо условия для преобразования оттенков серого доступны в WritableBitmapEx.

Есть ли способ преобразовать изображение в оттенки серого 16 бит на пиксель формата, а не устанавливать каждый из компонентов r,g и b В яркость. В настоящее время у меня есть bmp из файла. Bitmap c.

Я хочу конвертировать цветное изображение в оттенки серого без слишком много предопределенных методов. код чтения цветного изображения находится здесь Основной метод: BufferedImage img = null; try <.

Я загружаю 24-битный образ RGB из файла PNG в свое приложение OpenCV. Однако загрузка изображения в оттенках серого непосредственно с помощью imread дает очень плохой результат. Mat src1 =.

Привет всем я хочу конвертировать все изображения в оттенки серого в моем каталоге, но код, который я знаю, делает эту задачу только один за другим!!Но у меня есть много изображений, и я хочу, если.

Я знаю, что мы можем преобразовать изображение RGB в оттенки серого с помощью PIL или PILLOW . Мы можем сделать это, импортировав Image . Один из способов, который может быть использован для этого.

У меня есть изображение, подобное приведенному ниже, которое я пытаюсь преобразовать в оттенки серого. Однако я не хочу стандартного преобразования в оттенки серого. В идеале я хотел бы определить.

Я новичок в jQuery и очень люблю его. Я хотел бы знать, есть ли эффект, подобный IE, в котором я могу конвертировать изображения в оттенки серого во время выполнения?

Как я могу преобразовать цветное изображение в оттенки серого с помощью кода java? Образец изображения в оттенках серого для справки:

Источник

Как преобразовать цветное изображение в оттенки серого в java

Как я могу преобразовать цветное изображение в оттенки серого с помощью кода java?

Образец изображения в оттенках серого для справки:

1 ответ

Я хотел бы преобразовать изображение в 2-цветное, черно-белое с помощью Java. Я использую следующий код для преобразования в оттенки серого: ColorConvertOp op = new ColorConvertOp( ColorSpace.getInstance(ColorSpace.CS_GRAY), null); BufferedImage grayImage = op.filter(image, null); Но я не уверен.

Я хочу преобразовать свое цветное изображение в оттенки серого и избежать использования команды rgb2gray .

Самый простой способ-нарисовать GRAY буферизованное изображение

Смотрите больше способов здесь

Похожие вопросы:

Я хочу преобразовать данные оттенков серого в цветное изображение с помощью C#. Я пытаюсь 2D и конвертировать 1D данные и показать bitmap, но я хочу показать цветное изображение.

Мне нужно предложение, как преобразовать изображение в прямоугольнике в изображение в оттенках серого. Я хочу преобразовать прямоугольник вокруг трубки в оттенки серого: for (int i = 612; i >= 0;.

Я хочу конвертировать цветное изображение в оттенки серого без слишком много предопределенных методов. код чтения цветного изображения находится здесь Основной метод: BufferedImage img = null; try <.

Я хотел бы преобразовать изображение в 2-цветное, черно-белое с помощью Java. Я использую следующий код для преобразования в оттенки серого: ColorConvertOp op = new ColorConvertOp(.

Я хочу преобразовать свое цветное изображение в оттенки серого и избежать использования команды rgb2gray .

Я пытаюсь реализовать алгоритм в компьютерном зрении и хочу попробовать его на множестве картинок. Фотографии все цветные, но я не хочу иметь с этим дело. Я хочу преобразовать их в оттенки серого.

Я новичок в OpenCV. Я изучаю сегментацию по алгоритму водораздела, и у меня есть проблема. Я должен преобразовать цветное изображение в черно-белое изображение через водораздел. Когда я использую.

изображение в вопросе: http://cdn1.ouchpress.com/media/celebrities/539/kate-upton-401846.jpg Я пытаюсь преобразовать изображение в оттенки серого с помощью команды ниже img =.

Я хочу просто преобразовать изображение в оттенки серого. Но все, что я получаю-это полностью black образ. Почему? BufferedImage original = ImageIO.read(url); BufferedImage image = new.

У меня есть массив формы (height, width, 4) , то есть формат RGBA, и я хочу преобразовать его в оттенки серого. Исходный массив имеет значение RGB как 0, и изображение полностью визуализируется на.

Источник

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
Uchenik.top - научные работы и подготовка
0 0 голоса
Article Rating
Подписаться
Уведомить о
guest
0 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии