SlidingConv
A Simple and Fast DSL for Sliding-DCT.
Demo
demo.cpp is a demo for SlidingConv. It has 2 filters Gaussian Filter and Unsharpmasking.
We cofirmed that SlidingCov is working on following combination. (Other combination may be work but not be confirmed.)
| Compiler | OS | Arch |
|---|---|---|
| MSVC/14.29.30133 (MSVC 2019) | Windows 11 Home | x86/64 |
| Apple clang 14.0.3 (Xcode 14.3.0) | macOS Ventura 13.3.1 (22E261) | arm64 |
| g++ 9.4.0 | Ubuntu 20.04.6 LTS | x86/64 |
Requirements
- OpenCV 4.5.0
- Halide 12.0.1
- Halide requires
zlib,libpng,libjpeg
- Halide requires
You can use a pre-built binary of Halide, but if you want to test with a GPU (CUDA target), you need to build Halide from the source code yourself.
Setup
You need to add the Path of Halide and OpenCV to CMAKE_PREFIX_PATH before cmake. (or set Halide_DIR and OpenCV_DIR directly.)
cd path/to/root
mkdir build
cd build
cmake ..
make -j8
Run
./SlidingConvDemo filename isGPU sigma
- filename: A path to the filename of input image
- isGPU: Run on GPU or not
- 0=Run on CPU
- 1=Run on GPU (CUDA Target)
- sigma: sigma for gaussian kernel
e.g.
./SlidingConvDemo image.png 0 3.0
LICENSE
MIT