A stand-alone library for Super-Resolution, Non-OpenCV model related in these projects:
This is an open source project from original of this: SRCNN_Cpp is a C++ Implementation of Image Super-Resolution using SRCNN which is proposed by Chao Dong in 2014.
-
If you want to find the details of SRCNN algorithm, please read the paper:
Chao Dong, Chen Change Loy, Kaiming He, Xiaoou Tang. Learning a Deep Convolutional Network for Image Super-Resolution, in Proceedings of European Conference on Computer Vision (ECCV), 2014
-
If you want to download the training code(caffe) or test code(Matlab) for SRCNN, please open your browse and visit http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html for more details.
-
And thank you very much for Chao's work in SRCNN.
- See Wiki page.
- Includes OpenMP support for macOS.
- Fast resizing methods for BiCubic filtering
- Faster about 400% or more than OpenCV GCC version of SRCNN, with OpenMP.
- references :
- commit/b340b885a58605f793aa000eebc7f96c19c8e9fe#commitcomment-103507343
- commit/b340b885a58605f793aa000eebc7f96c19c8e9fe#commitcomment-103507802
- None-OpenCV, no OpenCV required !
- Compilation availed for almost of POSIX g++.
- Simply optimized for basic OpenMP.
- Works well even without OpenMP like macOS.
- Not support M$VC, sorry MS guyz.
- Windows 32, 64 with MSYS2 + MinGW-W64
- Almost any Linux, x86_32, x86_64, arm, armhf, aarch64
- macOS ( clang, llvm )
- Better speed, less memory usage by convolution I+II
- Regards to zvezdochiot@github
- Fixed memory bug in float images from RGB case.
- header version flag fixed.
- Fixed don't use color space scaling with bicubic filter.
- Now supporting alpha channel.
- Precision step scaling bug fixed.
- Precision step scaling option availed.
- included option by reason of libsrcnn trained for maximum double multiply.
- Fixed a small bug of wrong internal copying size.
- Fixed bug of original source (ShuWang's SRCNN).
- Use last layer (3) to Y channel at last construction.
- Changed ProcessSRCNN() method to get optional convolutional result.
- Fixed memory leak after convolution55.
- Changed ProcessSRCNN() method to get convolutional gray.
- Bug fixed for color space conversion.
- Supports variable filters for interpolation.
- Nearest
- Bilinear
- Bicubic
- Lanczos-3
- B-Spline
- Follows original source GPLv2, but this project is LGPLv3.
- Your G++.
- Make a symlink from
Makefile.{your platform}
inmakefiles
directory.- eg.)
ln -s makefiles/Makefile.macos Makefile
- eg.)
- Then build with
make
. - Testing applications may one of these,
make -f makefiles/Makefile.test
- or
make -f makefiles/Makefiles.testmac
- Testing application by
make -f makefiles/Makefile.test
may requires FLTK and fl_imgtk libraries. - FLTK should be installed by anyway, but recommend to my below FLTK-custom with fl_imgtk.
- FLTK-custom and fl_imgtk for build test program for read and write image files.