Skip to content

glebhitrin/simple-image-processor

Repository files navigation

Графические фильтры (image_processor)

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

Поддерживаемый формат изображений

Входные и выходные графические файлы имеют формат BMP (24-битный BMP без сжатия и без таблицы цветов). Тип используемого DIB header - BITMAPINFOHEADER.

Формат аргументов командной строки

Описание формата аргументов командной строки:

{имя программы} {путь к входному файлу} {путь к выходному файлу} [-{имя фильтра 1} [параметр фильтра 1] [параметр фильтра 2] ...] [-{имя фильтра 2} [параметр фильтра 1] [параметр фильтра 2] ...] ...

При запуске без аргументов программа выводит справку.

Пример

./image_processor input.bmp /tmp/output.bmp -crop 800 600 -gs -blur 0.5

В этом примере

  1. Загружается изображение из файла input.bmp
  2. Обрезается до изображения с началом в верхнем левом углу и размером 800х600 пикселей
  3. Переводится в оттенки серого
  4. Применяется размытие с сигмой 0.5
  5. Полученное изображение сохраняется в файл /tmp/output.bmp

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

Список базовых фильтров

Crop (-crop width height)

Обрезает изображение до заданных ширины и высоты. Используется верхняя левая часть изображения.

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

Grayscale (-gs)

Преобразует изображение в оттенки серого по формуле

encoding

Negative (-neg)

Преобразует изображение в негатив по формуле

encoding

Sharpening (-sharp)

Повышение резкости. Достигается применением матрицы

encoding

Edge Detection (-edge threshold)

Выделение границ. Изображение переводится в оттенки серого и применяется матрица

encoding

Пиксели со значением, превысившим threshold, окрашиваются в белый, остальные – в черный.

Gaussian Blur (-blur sigma)

Гауссово размытие, параметр – сигма.

Значение каждого из цветов пикселя C[x0][y0] определяется формулой

encoding

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages