An open API service indexing awesome lists of open source software.

https://github.com/dnyarri/pixelartscaling

Scale2x, Scale3x, Scale2xSFX and Scale3xSFX scaling of pixel art and low-resolution scans for OCR
https://github.com/dnyarri/pixelartscaling

advmame2x advmame3x batch image-manipulation image-processing image-scaler image-scaling image-upscaler image-upscaling pixel-art pixelart python python-3 scale2x scale2xsfx scale3x scale3xsfx upscaling

Last synced: 3 months ago
JSON representation

Scale2x, Scale3x, Scale2xSFX and Scale3xSFX scaling of pixel art and low-resolution scans for OCR

Awesome Lists containing this project

README

          

| [〖EN〗](README.md) | 【RU】 |
| --- | --- |

# Масштабирование пиксельных картинок - Pixel Art Scaling

[![PyPI - Downloads](https://img.shields.io/pypi/dm/scalenx)](https://pypi.org/project/ScaleNx/)

Программы для увеличения маленьких малоцветных картинок типа иконок и игровых спрайтов без размытия.

Также полезны для улучшения сканов текстов с низким разрешением перед OCR.

В настоящий момент поддерживаются методы **Scale2x** (aka AdvMAME2x), **Scale3x** (aka AdvMAME3x), **Scale2xSFX** и **Scale3xSFX**.

**ScaleNxGUI.py** представляет собой общую программу с GUI, объединяющую модули графических форматов и масштабирования. Программа обеспечивает как масштабирование отдельных картинок, так и оптовое batch-масштабирование всех картинок в директории и поддиректориях.

| ScaleNxGUI |
| :---: |
| [![Основная программа ScaleNx с GUI](https://dnyarri.github.io/imgscalenx/guismall.png "Основная программа ScaleNx с GUI")](https://dnyarri.github.io/scalenx.html) |

> [!NOTE]
> При batch-обработке все PPM и PGM файлы сохраняются в бинарных форматах (P6 и P5, соответственно) независимо от формата оригинала, поскольку бинарные форматы неожиданно оказались более совместимыми с разными версиями Photoshop.

> [!CAUTION]
> *Вынимание:* batch-программа перезаписывает исходные PNG, если хотите сделать копию - делайте это заранее! Batch-программы в этой версии используют асинхронный мультипроцессинг, что резко уменьшает время обработки ценой загрузки всех процессоров на 100%, что делает интерфейс несколько неотзывчивым. Если вам кажется, что программа зависла - не пугайтесь, просто подождите, пока она пропихнёт все потоки со всеми вашими файлами через все процессоры разом.

## Пример прогона Scale3x дважды по одной картинке

[![Пример прогона Scale3x дважды](https://dnyarri.github.io/imgscalenx/x3x3.png "Пример прогона Scale3x дважды по одной картинке")](https://dnyarri.github.io/scalenx.html)

## Внешние зависимости

1. [PyPNG](https://gitlab.com/drj11/pypng). Копия включена в дистрибутив ScaleNx.
2. [PyPNM](https://pypi.org/project/PyPNM/). Копия включена в дистрибутив ScaleNx.
3. Multiprocessing. Входит в состав стандартного дистрибутива CPython.
4. Tkinter. Обычно поставляется в составе стандартного дистрибутива CPython, но пользователям некоторых операционок может потребоваться отдельная установка.

> [!NOTE]
> Программы написаны целиком на Python, и используют логичное представление картинки как списка списков списков.
> В то время как для человека данное представление является логичным, Python обрабатывает его медленно (впрочем, желающие могут попытаться указать мне и назвать, а что Python обрабатывает быстро).
> Помимо этого, программы включают переформатирование списков для ввода/вывода PNG и PNM, тоже с использованием исключительно средств Python.
> В результате программы не требуют больших внешних пакетов типа Pillow и numpy, не имеют конфликтов версий, и совместимы со всем, что шевелится, но работают медленно.

## Литература

1. [Первоисточник Scale2x и Scale3x](https://www.scale2x.it/algorithm) - описание алгоритмов автором, Andrea Mazzoleni.

2. [Описание Scale2xSFX и Scale3xSFX](https://web.archive.org/web/20160527015550/https://libretro.com/forums/archive/index.php?t-1655.html) в архивах древнего форума. К сожалению, это единственная обнаруженная ссылка, подлинные имена обсуждающих неизвестны, поэтому надлежащим образом указать авторство невозможно.

3. [Алгоритмы масштабирования пиксельной графики](https://ru.wikipedia.org/wiki/Алгоритмы_масштабирования_пиксельной_графики) - краткий обзор на Wikipedia.

## Родственное

[Dnyarri website - больше программ на Python](https://dnyarri.github.io) и остальной товар от Жабы Огромной Умственной Силы.

[ScaleNx с картинками и объяснениями](https://dnyarri.github.io/scalenx.html) и т.п.

[ScaleNx source at github](https://github.com/Dnyarri/PixelArtScaling).

[ScaleNx source at gitflic mirror](https://gitflic.ru/project/dnyarri/pixelartscaling).

[ScaleNx на PyPI](https://pypi.org/project/ScaleNx/) - ядро ScaleNx, установка через *pip*. Чистое ядро без примеров, гуёв и т.п.