The program allows the user to open an existing RGB image, convert it to grayscale, apply the Sobel operator to the image and then save it to a file. Once again, the resulting file will contain the image in the grayscale format.
Even though, the task only includes what is described above, the codebase has a lot more potential. It allows to open, read and write to disk any type of Netpbm image: P1..P6.
The project does not have any external dependencies, therefore,
to compile the project you just need gcc
and make
.
In order to build the executable, run make
or make netpbm-sobel
in the
root folder of the project.
The binary can then be found at %PROJECT%/build/netpbm-sobel
.
The program must be executed with the following command line
arguments: ./netpbm-sobel "source_image_path" "new_image_path" [threads]
,
where threads
is a number of threads to use. This field is optional,
if it is omitted, 1 thread is used.
This project was implemented as a test task for my internship application at OMP (Sailfish Mobile OS RUS).