Skip to content

tanakamura/waifu2x-converter-cpp

 
 

Repository files navigation

waifu2x (converter only version)

This is a reimplementation of waifu2x (original) converter function, in C++, using OpenCV. This is also a reimplementation of waifu2x python version by Hector Martin. You can use this as command-line tool of image noise reduction or/and scaling.

Prebuilt binary-form release

works using waifu2x-converter

  • waifu2x_win_koroshell
    • waifu2x-converter GUI frontend that is easy to use, and so cute. You need only drag&drop to convert your image. (and also you can set converting mode, noise reduction level, scale ratio, etc..., on GUI)
    • Both waifu2x-converter x86 and x64 are included this package, and GUI see your windows architecture(x86|x64) and selects automatically which to use.
    • For windows only.

Dependencies

Platform

  • Ubuntu
  • Mac OS X?
  • Windows

(This program probably can be built under MacOSX, because OpenCV and other libraries support OS X)

Libraries

  • OpenCV(C++, version 3.0.0 rc1)

This programs also depends on libraries shown below, but these are already included in this repository. CUDA Support in OpenCV is optional, since not required. (in version 1.0.0, CUDA Support is not used.)

How to build

for Ubuntu

Sorry, under construction...

These are hints for building :

  • I recommend to install OpenCV from sources. (build instruction is found here)
  • include path : include/ (/path/to/opencv/installed/directory)/include
  • library path : (/path/to/opencv/installed/directory)/lib
    • if you have built and installed OpenCV from source, and have changed install directory(by using CMAKE_INSTALL_PREFIX), you may need to set environment variable LD_LIBRARY_PATH for your OpenCV installed directory.
  • libraries to link : opencv_core opencv_imgproc opencv_imgcodecs opencv_features2d
  • standard of C++ : c++11

Usage

Usage of this program can be seen by executing this with --help option.

(My native language is not English, then I'm sorry for my broken English.)

modifided by tanakamura

  • Added CUDA, OpenCL(AMD GPU), x86 FMA, x86 AVX Support (That is selected automatically at runtime)
  • OpenCL(AMD GPU) version achieves 40% of peak performance (291GFLOPS @ A10-7850K)
  • Added CMakeLists.txt
  • You can build it by cmake ($ cmake -D OPENCV_PREFIX=<OpenCV include/lib dir>)
  • DLL interface
  • You can use waifu2x as library. include w2xconv.h & link w2xc.lib.

About

waifu2x(original : https://github.com/nagadomi/waifu2x) re-implementation in C++ using OpenCV

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 76.7%
  • C 13.6%
  • Makefile 3.5%
  • Lua 3.3%
  • CMake 1.5%
  • Python 1.0%
  • Other 0.4%