Demo image processing software
We provide a demo program that implements the following image processing algorithms in C++:
Download link — 64-bit Windows console application. The program requires processor with AVX support (Sandy Bridge CPU or newer/compatible). Legacy version — 32-bit Windows console application for CPU with SSE2 only.
Instructions
The program implements warping algorithm from the paper Deblurred images post-processing by Poisson warping .
Program usage:
(programname) <operation> [options] <input_image> <output_image>
List of operations:
warp - perform image sharpening by grid warping. Available options:
-sigma (value) - (mandatory) set blur parameter for the input image, range: 1.0 to 20.0, default value is 2.0
-power (value) - set warping power, range: 0.0 to 5.0, default value is 1.0
-1d - apply one-dimensional algorithm (faster but lower quality
basicedges - detect basic edges - edges good for artifact analysis
-scale (value) - set scale parameter, range: 1.0 to 20.0, default value is 4.0
gaussblur - blur input image using Gauss filter
-sigma (value) - (mandatory) Gauss filter radius
-noise (value) - Add Gaussian noise with provided stddev
resample - edge directional resampling (x2)
-method - Use specific image resampling algorithm:
edr (default) - Our edge-directional algorithm
srcnn - SRCNN (deep learning)
si1, si2, si3 - SI-1, SI-2 and SI-3 respectively
-cfile - Read coefficient data from the specified file
-selfsim - Use the input image to compute the interpolation kernels instead of predefined values ('edr' method only)
tgv - deblurring and denoising using TGV regularization, the arguments are:
- input image;
- blur kernel - it will automatically normalized;
- output image;
- first regularization parameter;
- second regularization parameter;
If you need only denoising without deblurring, please use a 1x1 image with single white pixel.
help - display this screen
other operations coming soon...
Supported image formats: BMP, PNG, JPEG, GIF, TIFF
Examples
demo warp -sigma 4 -power 1.5 input.png warp.png
demo basicedges -scale 4 input.png be.png
Notes
Optimal power for grid warping is 1.0. Using greater power value may result in artifacts due to discontinuous warping.
Parameter sigma corresponds the to radius of Gaussian blur that approximates actual blur for the given image. Typical value for real blurry images is 2.0.
Parameter scale in the basic edges detection algorithm controls the edge width
Source code
The source code is available at GitHub