https://github.com/linarcx/image_resizer
A simple c++ program that uses libpng and OpenCL to resize images.
https://github.com/linarcx/image_resizer
cmake cpp image-processing libpng opencl
Last synced: about 1 year ago
JSON representation
A simple c++ program that uses libpng and OpenCL to resize images.
- Host: GitHub
- URL: https://github.com/linarcx/image_resizer
- Owner: LinArcX
- License: gpl-3.0
- Archived: true
- Created: 2022-04-22T07:26:52.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2022-04-24T19:32:42.000Z (about 4 years ago)
- Last Synced: 2025-03-02T05:15:22.886Z (over 1 year ago)
- Topics: cmake, cpp, image-processing, libpng, opencl
- Language: C++
- Homepage:
- Size: 397 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# image_resizer
A simple c++ program that uses libpng and OpenCL to resize images.
# Tools
- OS: Void linux
- Compiler: gcc
- Editor: neovim
# Prerequisites
- make
- cmake
- pkg-config
- libpng:
I grabbed the source code(version: 1.6.37) from it's official website.
After downloading the source code, there's a nice and self-explanatory INSTALL document.
To recap i ran the following commands to build libpng:
```
cmake . -DCMAKE_INSTALL_PREFIX=/home/linarcx/libpng
make
make install
```
- OpenCl
There's a `libclc` package in VoidLinux that i used it.
# Build
```
git clone https://github.com/LinArcX/image_resizer
cd image_resizer
mkdir -p output/cmake output/debug output/release
cd output/cmake/
cmake -DCMAKE_BUILD_TYPE=Release ../..
make -j8
```
And finally run the program:
`../release/image_resizer`
## Test
`./output/x64/release/image_resizer -output ./assets/smaller.png -input ./assets/original.png -ratio 0.4 -quality 90 -algorithm "bicubic"`
## Inspiration
1. [opencl-resizer](https://github.com/vencabkk/opencl-resizer)
## License
