All Projects → spillerrec → Overmix

spillerrec / Overmix

Licence: gpl-3.0
Automatic anime screenshot stitching in high quality

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Overmix

Autoannotationtool
A label tool aim to reduce semantic segmentation label time, rectangle and polygon annotation is supported
Stars: ✭ 113 (-0.88%)
Mutual labels:  image-processing, qt
Slicergitsvnarchive
Multi-platform, free open source software for visualization and image computing.
Stars: ✭ 896 (+685.96%)
Mutual labels:  image-processing, qt
Slicer
Multi-platform, free open source software for visualization and image computing.
Stars: ✭ 263 (+130.7%)
Mutual labels:  image-processing, qt
Hnr
🌟 An off-line handwritten numeral recognition system
Stars: ✭ 26 (-77.19%)
Mutual labels:  image-processing, qt
Quickviewer
A image/comic viewer application for Windows, Mac and Linux, it can show images very fast
Stars: ✭ 394 (+245.61%)
Mutual labels:  image-processing, qt
Extensionsindex
Slicer extensions index
Stars: ✭ 36 (-68.42%)
Mutual labels:  image-processing, qt
Deltacv
An open-source high performance library for image processing
Stars: ✭ 110 (-3.51%)
Mutual labels:  image-processing
Bit Torrent
📁 🌎 BitTorrent client built with Python + asyncio
Stars: ✭ 111 (-2.63%)
Mutual labels:  qt
Handwriter
A smart program to convert digital document to hand-written document
Stars: ✭ 108 (-5.26%)
Mutual labels:  image-processing
Discord Qt
Discord client powered by Node.JS and Qt Widgets.
Stars: ✭ 108 (-5.26%)
Mutual labels:  qt
Aesthetics
Image Aesthetics Toolkit - includes Fisher Vector implementation, AVA (Image Aesthetic Visual Analysis) dataset and fast multi-threaded downloader
Stars: ✭ 113 (-0.88%)
Mutual labels:  image-processing
Mindboggle
Automated anatomical brain label/shape analysis software (+ website)
Stars: ✭ 112 (-1.75%)
Mutual labels:  image-processing
Eos
A lightweight 3D Morphable Face Model fitting library in modern C++14
Stars: ✭ 1,579 (+1285.09%)
Mutual labels:  image-processing
Intro To Cv Ud810
Problem Set solutions for the "Introduction to Computer Vision (ud810)" MOOC from Udacity
Stars: ✭ 110 (-3.51%)
Mutual labels:  image-processing
Expresspython
expressPython - A small Python editor for learning and competitive programming.
Stars: ✭ 111 (-2.63%)
Mutual labels:  qt
Nvidia Gpu Tensor Core Accelerator Pytorch Opencv
A complete machine vision container that includes Jupyter notebooks with built-in code hinting, Anaconda, CUDA-X, TensorRT inference accelerator for Tensor cores, CuPy (GPU drop in replacement for Numpy), PyTorch, TF2, Tensorboard, and OpenCV for accelerated workloads on NVIDIA Tensor cores and GPUs.
Stars: ✭ 110 (-3.51%)
Mutual labels:  image-processing
Ezgraver
Simple multi-platform management software for NEJE laser engravers.
Stars: ✭ 108 (-5.26%)
Mutual labels:  qt
Ios Rubik Solver
An iOS app that detects a 3x3 Rubik's cube, recognizes the color of all cubies, solves it and provides a 3D visualisation of the solving process.
Stars: ✭ 111 (-2.63%)
Mutual labels:  image-processing
Qhttpengine
HTTP server for Qt applications
Stars: ✭ 112 (-1.75%)
Mutual labels:  qt
L1stabilizer
🎥 Video stabilization using L1-norm optimal camera paths.
Stars: ✭ 111 (-2.63%)
Mutual labels:  image-processing

Overmix

Discord GitHub license GitHub release Coverity Scan Build Status CircleCI

Overmix can stitch fractions of smaller images together to create the original full image. It is specifically made for stitching anime screenshots, where a small portion of a scene is shown and the viewpoint slides to show the remaining area.

The idea behind Overmix is to increase the amount of images which is used to stitch it together, and use this to solve MPEG compression, color banding and on-screen text/logo issues. Development is now geared towards understanding the more theoretical parts about Image Reconstruction and how this can be applied to increase quality even further.

Features

  • High quality 16-bit (or more) rendering, with dithering for 8-bit output
  • Automatic detection of vertical and horizontal offsets, with sub-pixel precision
  • Interlacing support
  • Multi-threaded to fully exploit your computer's potential
  • Support for 10-bit YUV input
  • Rendering pipeline supports chroma sub-sampling without upscaling
  • Deconvolution for sharpening images
  • Logo/credits detection and removal
  • Steam minimization (colors kinda broken right now though...)
  • Detection of cyclic animations
  • Basic Super resolution, GUI kinda lacking right now

Current work

  • Separation of foreground and background in slides where foreground and background moves with different speeds
  • MPEG2 decoder for minimizing MPEG2 compression artefacts, which should help especially with motion compensation.
  • Revamp GUI so it is more easy to add advanced settings for operations
  • Command line interface

Future work

  • Detection of zooming and rotation
  • Figuring out how features such as animation detection and separation of fore/back-ground can be combined

How to contribute

Even if you know nothing about programming, there are several ways to contribute:

  • If it currently does not solve all your needs, make a feature request on the issue tracker, or comment on an existing one.
  • If you fail to stitch an image properly, create an issue and share a link to the input images. Either I can help find you the right settings, or identify a current limitation of Overmix.
  • If you can't figure out how to use some part of the program even after checking the wiki (or even it was just difficult), create an issue/bug report. This mean that either the interface is not intuitive enough, documentation is lacking, or the documentation is not clear enough.

If you do not want to create a Github user, feel free to send me an email at [email protected] about anything.

Avoid using screenshots

Video is not as RGB directly, instead it uses a color transformation to seperate luminance and color information. The color information is then downsampled as it usually isn't noticable. Depending on your video player, it might use lower quality approximations to improve performance/batery life. VLC in particular causes bad results, but mpv can also cause screenshots to be in lower quality than what you see on the screen. By using the built-in video importer you will get the full qualty (in 10bit for those videos as well), while also getting every frame which will further improve quality.

The Dump format

In order to dump Hi10p video frames without them being converted to 8-bit RGB, the dump format was developed. This format supports up to 16-bit YUV images with chroma sub-sampling. Now only needed if you want to store the dumped frames. Several tools related to the format have been developed, most importantly an application to easily extract every unique frame in a video sequence. This and other tools such as Windows extensions can be found in the following repository: https://github.com/spillerrec/dump-tools

Known issues

  • Dehumidifier renderer does not "dehumidify" colors. (Forcing RGB mode with the new option might do the trick, but I haven't checked the code.)
  • Progress bars are not implemented everywhere, and the "Cancel" option is rarely implemented even though the button appears.

Building

Dependencies

  • Qt5
  • C++14 (generic lambdas, std::make_unique<>)
  • cmake (for compiling)
  • ffmpeg
  • zlib
  • lzma
  • libpng
  • png++ (header only)
  • libjpeg
  • fftw3
  • pugixml
  • lcms2 (required for GUI)
  • boost
  • eigen3
  • QCustomPlot 2.x (required for GUI)
  • google/benchmark (required for unit-benchmarking)

Optional:

  • waifu2x-converter-cpp (with opencv enabled)

Linux only:

  • xcb
  • qt5x11extras

Building

  1. cmake -DCMAKE_BUILD_TYPE=release
  2. make

It is recormended to build in a seperate folder, as cmake polutes the all the directories otherwise. You can do it like this:

  1. mkdir release
  2. cd release
  3. cmake ../ -DCMAKE_BUILD_TYPE=release
  4. make
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].