2

У меня есть серия файлов изображений BMP, содержащих данные в кодировке RGB. Мне нужно преобразовать все эти изображения в их эквиваленты в оттенках серого. Я рассмотрел два подхода к этому, оба оказались недостаточными.

1) Я пытался использовать IrfanView и Gimp. В обоих программах мне удалось загрузить отдельные изображения, преобразовать их в оттенки серого и сохранить изображение в оттенках серого. Однако, поскольку у меня есть 500 изображений, этот подход неосуществим, поскольку ни один из них не позволяет мне применять операцию RGBTogreyscale ко всей серии изображений

2) Я попробовал Matlab. Однако мои файлы по какой-то причине не совместимы с Matlab. простой imread в Matlab не смог загрузить файлы изображений.

imgdata = imread('myimg.bmp')  % gives error saying that 'Bitfield compression not supported'

Какие-либо предложения?

4 ответа4

3

Я бы порекомендовал Imagemagick. Это утилита командной строки, которая чрезвычайно гибка со многими поддерживаемыми функциями. Одним из которых является преобразование в оттенки серого.

Смотрите этот пост для более:

http://www.imagemagick.org/Usage/color_mods/

ТЛ; др

convert  test.png  -type GrayScale  grey_type.png

Чтобы установить Imagemagick, здесь есть все виды двоичных файлов:

http://www.imagemagick.org/script/binary-releases.php

2

В Irfanview перейдите в «Файл» »« Пакетное преобразование »(или нажмите горячую клавишу, B), добавьте все файлы для преобразования, установите флажок« Использовать дополнительные параметры », затем нажмите кнопку« Дополнительно »и выберите« Преобразовать в Оттенки серого, вот так:

скриншот описанной выше конфигурации

Это должно позволить пакетное преобразование нескольких растровых изображений в оттенки серого. Вы также можете выполнить пакетное преобразование в любой из форматов файлов изображений, поддерживаемых Irfanview, например, BMP, PNG, GIF, JPG и т.д.

1

Даже при том, что есть принятый ответ, думал, что я дам свои 2 цента.

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

Он коммерческий, но позволяет указать, какой вклад вносят красный, зеленый и синий, а также позволяет использовать "каналы" освещенности или интенсивности других цветовых моделей, таких как HSL и HSI, для достижения конверсии: Процессор пакетных изображений В дополнение к этому имеет различные параметры для сохранения изображений в градациях серого: 8-битное растровое изображение, 8-битный PNG, 8-битный GIF и некоторые другие. И если вам нужно, он имеет множество других функций обработки изображений, таких как яркость, контрастность и т.д.

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

0

Я только что узнал о опции пакетной обработки в IrfanView. Используя пакетную обработку, я смог одним махом преобразовать все изображения в серии в оттенки серого. Выходные изображения в градациях серого имели тип.PGM.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .