Skip to content

Latest commit

 

History

History
111 lines (86 loc) · 5.68 KB

File metadata and controls

111 lines (86 loc) · 5.68 KB

C++ Image Processor

Eng

Description

Image Processor is a console application for processing BMP images (4-bit BMP without compression and color table). The application provides a set of filters for modifying images.

Command Line Arguments Format

{program name} {input file path} {output file path} [-{filter name 1} [filter parameter 1] [filter parameter 2] ...] [-{filter name 2} [filter parameter 1] [filter parameter 2] ...] ...

Main Features

The application supports the following filters:

  • Crop --- Crops the image to the specified width and height. Uses the upper-left part of the image.
    Filter Usage: ./image_processor input.bmp output.bmp -crop 100 150

  • Grayscale --- Converts the image to grayscale.
    Filter Usage: ./image_processor input.bmp output.bmp -gs

  • Negative --- Converts the image to negative.
    Filter Usage: ./image_processor input.bmp output.bmp -neg

  • Sharpening --- Increases the sharpness of the image.
    Filter Usage: ./image_processor input.bmp output.bmp -sharp

  • Edge Detection --- Detects edges. Pixels with a value exceeding the threshold are colored white, others are colored black.
    Filter Usage: ./image_processor input.bmp output.bmp -edge 50

  • Gaussian Blur --- Gaussian blur. Defined by sigma.
    Filter Usage: ./image_processor input.bmp output.bmp -blur 0.5

  • Coal --- Turns the picture into a charcoal drawing. Works well with -neg, turning the image into a sketch.
    Filter Usage: ./image_processor input.bmp output.bmp -coal

  • FishEye --- Distorts the image.
    Filter Usage: ./image_processor input.bmp output.bmp -fisheye

Examples of using all filters are available in the image_examples folder.

Installation

  1. Clone the repository with the project.
  2. Navigate to the project directory:
cd image-processor
  1. Build the project using CMake:
mkdir build
cd build
cmake ..
make
  1. Run the generated image_processor file with the necessary parameters (running without parameters will output help):
./image_processor <input_file.bmp> <output_file.bmp> <filter> [parameters]

Rus

Описание

Image Processor - консольное приложение для обработки изображений формата BMP (4-битный BMP без сжатия и без таблицы цветов). Приложение предоставляет набор фильтров для модификации изображений.

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

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

Основные функции

Приложение поддерживает следующие фильтры:

  • Crop --- Обрезает изображение до заданных ширины и высоты. Используется верхняя левая часть изображения.
    Применение фильтра:./image_processor input.bmp output.bmp -crop 100 150

  • Grayscale --- Преобразует изображение в оттенки серого.
    Применение фильтра: ./image_processor input.bmp output.bmp -gs

  • Negative --- Преобразует изображение в негатив.
    Применение фильтра: ./image_processor input.bmp output.bmp -neg

  • Sharpening --- Повышение резкости изображения.
    Применение фильтра: ./image_processor input.bmp output.bmp -sharp

  • Edge Detection --- Выделение границ. Пиксели со значением, превысившим threshold, окрашиваются в белый, остальные – в черный.
    Применение фильтра: ./image_processor input.bmp output.bmp -edge 50

  • Gaussian Blur --- Гауссово размытие. Задается сигмой.
    Применение фильтра: ./image_processor input.bmp output.bmp -blur 0.5

  • Coal --- Превращение рисунка в картину, написанную углем. Неплохо работает с -neg, превращая картинку в скетч.
    Применение фильтра: ./image_processor input.bmp output.bmp -coal

  • FishEye --- Растягивание рисунка.
    Применение фильтра: ./image_processor input.bmp output.bmp -fisheye

Примеры использования всех фильтров есть в папке image_examples.

Установка

  1. Склонируйте репозиторий с проектом
  2. Перейдите в директорию проекта:
cd image-processor
  1. Соберите проект с использованием CMake:
   mkdir build
   cd build
   cmake ..
   make
  1. Запустите собравшийся файл image_processor с необходимыми параметрами (запуск без параметров выведет помощь):
./image_processor <input_file.bmp> <output_file.bmp> <filter> [parameters]