/minecraft_texture_upscaler

Minecraft Texture Upscaler automatically processes low-resolution Minecraft texture packs and increases their resolution. It is almost as good as native, (paid), high-resolution texture packs.

Primary LanguagePython

Minecraft Texture Upscaler

Have you ever wanted to try a cool texture pack you saw on the Net? And then realized that the high-res one they use is stuck behind a paywall? This program can take a lower-res texture pack and scale it up. It produces textures indistinguishable from the originals.

Left Right
32x Texture 128x Upscaled texture

gold_ore gold_ore

redstone_ore redstone_ore

Usage

Minecraft Texture Upscaler is built on Python and OpenCV's contrib module.

  1. Install Python 3.7 or later.
  2. Install OpenCV with pip install opencv
  3. Install OpenCV Contrib Modules with pip install opencv-contrib-python
  4. Install Pillow: pip install pillow
  5. Put the code(just texturepack.py for now) where your textures are stored.
  6. Download the Super Resolution models here and put it in the same folder.
  7. Run texturepack.py, put in the required information, and enjoy!

Notes:

  • Type in the model to use as they are written below.
  • The EDSR model supports x2, x3, and x4 upscaling. It produces the best results, but takes a lot of time to process images.
  • The ESPCN model supports x2, x3, and x4 upscaling.
  • The FSRCNN model also supports x2, x3 and x4 upscaling. It produces results the fastest but isn't as accurate as EDSR.
  • The LapSRN model supports x2, x4, and x8 upscaling.
  • By default, the program tries to use CUDA bindings, which will only work if you have compiled OpenCV from source with the appropriate flags, and will only work with an Nvidia GPU. If you do not have CUDA it will fall back to using the CPU, which will take more time.

Contributing

Don't hesitate to submit an issue with an questions or concerns, or PRs with new functionality! Contributing is welcomed and appreciated!

References

Deep Learning based Super Resolution with OpenCV

OpenCV - Upscaling images: single-output