Skip to content

This program implements a collection of edge extraction algorithms that can be applied to PGM converted images. As examples, two different edge extraction methods are implemented: Sobel and edge extraction using rank methods.

Notifications You must be signed in to change notification settings

inf17101/C-Image-Edge-Extraction-Library

Repository files navigation

C++ Image Edge Extraction Library

This program implements a collection of edge extraction algorithms that can be applied to PGM converted images. As examples, two different edge extraction methods are implemented: Sobel and edge extraction using rank methods.

Software Architecture

The architecture is essentially based on the Strategy Software Design Pattern and thus covers the following requirements:

  • Easy addition of new algorithms
  • Exchange of algorithms at runtime
  • Simple and uniform interface for different edge extraction algorithms in the client code

The following is the core idea of the program's architecture in UML notation.
The UML diagram shows the strategy pattern applied to the program.
It does not show all complete classes along with all attributes and methods of the program.

CImageProcessingLibraryStrategyUML

How to use

git clone https://github.com/inf17101/C-Image-Edge-Extraction-Library.git
cd C-Image-Edge-Extraction-Library/CppImageProcessingLibrary/src/
mkdir ../out
g++ -g -Wall -std=c++17 *.cpp -o edgeExtraction.out
./edgeExtraction.out

Note: create a folder called out inside the directory C-Image-Edge-Extraction-Library/CppImageProcessingLibrary/. Otherwise no output is generated.

About

This program implements a collection of edge extraction algorithms that can be applied to PGM converted images. As examples, two different edge extraction methods are implemented: Sobel and edge extraction using rank methods.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published