Skip to content

asadullinam/image_processor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

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)

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

Negative (-neg)

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

encoding

Sharpening (-sharp)

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

encoding

Edge Detection (-edge threshold)

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

encoding

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

Gaussian Blur (-blur sigma)

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

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

encoding

Masaic filter (-mos size_x, size_y)

В качестве параметров передается размер одного элемента, после вся картинка разбивается на эти блоки, за счет чего достигается эффект мозайки.

About

Open for anyone

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors