Spaces:
Sleeping
Sleeping
| title: KumikoMangaPanelExtractor | |
| emoji: 🕮 | |
| colorFrom: indigo | |
| colorTo: green | |
| sdk: gradio | |
| sdk_version: 5.35.0 | |
| app_file: app.py | |
| pinned: false | |
| short_description: Kumiko Manga/Comics Panel Extractor (WebUI) | |
| Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference | |
| ___ | |
| # Kumiko Manga/Comics Panel Extractor (WebUI) | |
| Upload your manga or comic book images. This tool will automatically analyze the panels on each page, | |
| crop them into individual image files, and package them into a single ZIP file for you to download. | |
| This application is licensed under the **GNU Affero General Public License v3.0**. | |
| The core panel detection is powered by the **kumikolib** library, created by **njean42** ([Original Project](https://github.com/njean42/kumiko)). | |
| ___ | |
| # Introduction | |
|  | |
| > Kumiko mascot by [Hurluberlue](https://www.twitch.tv/hurluberlue "twitch link"), [CC-BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/ "Creative Commons License") | |
| *Kumiko, the Comics Cutter* is a set of tools to compute useful information about comic book pages, panels, and more. | |
| Its main strength is to find out the **locations of panels** within a comic's page (image file). | |
| *Kumiko* can also compile information about panels for all pages in a comic book, and present it as one piece of data (JSON-formatted object). | |
| *Kumiko* makes use of the great (freely licensed) [opencv](https://opencv.org/) library, which provides image processing algorithms of all sorts. | |
| Mainly, the contour detection algorithm is used to detect panels within an image. | |
| # Demo | |
| *TL;WR* Too Long; Won't Read the whole doc? | |
| A **live demo** is [available here](https://kumiko.njean.me/demo), where you can try *Kumiko* out and cut your own comic pages into panels. | |
| # Philosophy | |
| *Kumiko* aims at being a functional library to extract information from comic pages / books. | |
| The goal is to provide a set of tools that is usable beforehand, to extract all needed information. | |
| External programs can later use the generated information for different purposes: panel-by-panel viewing, actual splitting of an image down into panels, etc. | |
| ## Panel-by-panel comic reading | |
| Being able to jump from one panel to the next was the original idea behind *Kumiko*. | |
|  | |
| > [xkcd](https://www.xkcd.com) by Randall Munroe, [#208](https://www.xkcd.com/208/), [CC BY-NC 2.5](https://creativecommons.org/licenses/by-nc/2.5/) | |
| Comic viewers usually imply a very common *page-by-page reading paradigm*. | |
| You read a page, possibly zooming on it to be able to read speech bubbles, then click, tap, press a key or swipe to the next page. | |
| With knowledge about panels locations, we can imagine a comic reader that also offers *panel-by-panel reading*. | |
| This is especially interesting for **small screens**, on which you probably can't read the texts if a whole page is displayed. | |
| Just run `kumiko -i /path/to/comicpage.jpg -b firefox` on your *comicpage.jpg* file, and read it panel-by-panel in your browser! | |
| # Requirements | |
| `apt-get install python3-opencv` will install the only necessary library needed: *opencv*. | |
| This should do the trick for Debian distros and derivatives (Ubuntu, Linux Mint...). | |
| If you successfully use *Kumiko* on any other platform, please let us know! | |
| # Usage & Testing | |
| See the [usage doc](doc/Usage.md) for details on how to use the *Kumiko* tools. | |
| Also check the [testing doc](doc/Testing.md) if you want to test modified versions of the code. | |
| # Numbering | |
| The numbering is left-to-right, or right-to-left if requested. | |
| Here is an example of how *Kumiko* is going to number panels by default (numbers and red lines not in the original picture). | |
|  | |
| > [Pepper & Carott](https://www.peppercarrot.com/) by [David Revoy](https://www.davidrevoy.com), [episode 2](https://www.peppercarrot.com/en/article237/episode-2-rainbow-potions), [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/) | |
| # Contributing | |
| Feature requests and PR are welcome! | |
| *Kumiko* python code if formatted with [yapf](https://github.com/google/yapf). | |
| Config file is committed [here](.style.yapf). | |
| To format all your code, simply run: | |
| ```bash | |
| yapf3 --recursive --in-place . | |
| ``` | |
| # Short- and longer-term features (roadmap) | |
| ## Kumiko library | |
| * detect panels on a growing range of comic page layouts | |
| * detect non-framed panels (without clear boundaries/borders) | |
| * separate intertwined panels | |
| * ~~be able to detect panel contours on pages with non-white, non-black background~~ done in v1.5 | |
| ## Back-office (validation / edition tool) | |
| Let's face it: we probably can't ensure that *Kumiko* can perfectly find out the panels in *any* image. | |
| There is a huge diversity of panel boundaries, layouts and whatnot. | |
| This is why there could be some kind of back-office / editing tool that lets a human editor: | |
| * validate pages | |
| * add, delete, move or resize incorrect panels | |
| * report bugs | |
| * ... | |
| Such a tool would edit the JSON file representing a comic book information, for later use by other programs relying on it. | |