Giter VIP home page Giter VIP logo

waifu2x-converter-cpp's Introduction

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

Please see releases of this repository. There is only for-windows binary, now. Sorry.

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.)

waifu2x-converter-cpp's People

Contributors

wl-amigo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

waifu2x-converter-cpp's Issues

How to use GPU-acceleration?

I'm using pre-built binaries on Windows. What should I do to make it faster? I hoped it would be faster than original implementation in LUA, but it's awfully slow.

How do I convert multiple images?

I wonder how do I convert multiple images? (My intention is to convert a video to images in sequence, and then do the upscaling of the images)

Since this is no longer updated, I forked and updated it.

I forked a fork of a fork of this.

See: https://github.com/DeadSix27/waifu2x-converter-cpp/

Works fine on AMD GPUs and APUs on Ubuntu 16.10 and Windows 64
I updated the OpenCV library support to 3.2 (newest at point of writing)
Added a proper build guide for windows and Ubuntu (16.10) and fixed some binary file handling.

Code also is now compiling fine on VS2015 (incl. Community version)
Pre-built binaries are also offered.

Support is appreciated, I will try doing my best to keep this at least working, (e.g for the upcoming VS2017 as well)
Open an Issue on my fork if you have any questions.

PS: If you have an nVidia GPU and would like to help me getting it to work on that as well, open an issue on my fork.

Thanks for your repository!

Hello @WL-Amigo,

I would like to re-implement waifu2x to Objective-C. May I use some of your code?

The other thing, it has very very bad performance on iOS, haha.
Maybe I will try to tune the performance more better. For the OTAKU world!
thank you.

hello, I am compiling your program, but I have a preblem.

hello, I am compiling your program, but I have a preblem.

There are some strange lines to me such as

static const char prog[] =
#include "modelHandler_OpenCL.cl.h"
;

static const char prog20[] =
#include "modelHandler_CUDA.ptx20.h"
;
static const char prog30[] =
#include "modelHandler_CUDA.ptx30.h"
;

When I compile, I got error because of the lines.
What happen?
It is wrong on my C++ background.
How did you use well?

Multiple Files Through CLI

How on earth do a pass an entire directory worth of images to be done in batch?

I would just use w2xcr but I want to specify output options.

変換の効率化について

すでにご覧頂いているかもしれませんが、昨日waifu2x-converter-cppをベースにAvisynth版(https://github.com/sunnyone/Waifu2xAvisynth)を作成させていただきました。ありがとうございます。

Pull Requestでなくて申し訳ないのですが、Avisynth版を作成している際に「ここはこのほうがいいんじゃないか」と思った部分についてお伝えします。お読みいただいたら、Closeするなりして頂ければ幸いです。

  1. RGB⇔YUV変換
    各所でRGB⇔YUV変換していますが、毎回変換するのはロスがあるので、最初と最後にされたほうがよいのではないでしょうか。

  2. UV成分のbicubic変換
    Yについては2xする度に処理するので必要ですが、UV成分については別途一発で期待解像度に持っていったほうが効率がよいのではないでしょうか。

一応、Avisynth版のほうではそう考えて実装しました。私の認識が間違っていなければですが、参考になるかもしれません。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.