Perspec

Из публичных источников

Скриптуемое настольное приложение для исправления перспективы изображений

Машинный перевод · Показать оригинал

Scriptable desktop app to correct the perspective of images

ПриложениеКатегория: Десктопные приложения · Графика и дизайнOpen sourceданные проверены 15 окт. 2026 г.

Обзор

  • app
  • correction
  • desktop-app
  • gloss
  • gui
  • haskell
  • image
  • imagemagick
  • keystone
  • linux-app

Установка

Команды только показываются, маркетплейс их не выполняет. Сверяйтесь с официальной документацией.
  • Официальный сайтИз публичных источниковиз метаданных каталога
    feram.gumroad.com/l/perspec ↗
  • Сборка из исходниковИз публичных источниковиз метаданных каталога

    Сборка из исходников: проверенного рецепта сборки нет — следуйте инструкциям репозитория.

    github.com/ad-si/Perspec ↗

Совместимость

«Неизвестно» значит, что доказательств не найдено, а не что продукт несовместим.
ПлатформаСтатусАрхитектураДоказательствоУверенность
WindowsНеизвестно———
macOSНеизвестно———
LinuxНеизвестно———

Релизы

проверено 29 окт. 2026 г.
В источнике релизы не найдены.

Профиль качества

алгоритм quality-v1.0 · оценено 15 окт. 2026 г.
Оценка качества94
Оценка риска0
Уверенность 1.00
Оценка качества и оценка риска — разные показатели. Высокое качество не гарантирует безопасность.

Составляющие оценки

Поддержка · 2020
last activity 3 days ago
Документация · 1515
README 8991 chars, description present
Готовность к использованию · 1515
install instructions: yes; releases: yes
Метаданные · 1010
4/4 of description, homepage, license, topics
Релизы · 1010
7 release(s), latest 34 days ago
Точность категории · 107
classifier confidence 0.65
Популярность · 107
793 stars (log-dampened, 10k = max)
Ясность лицензии · 55
SPDX AGPL-3.0
Сообщество · 55
issues enabled, 38 forks

Лицензия

AGPL-3.0
Лицензия известнапо данным хостинга репозитория

Это статус политики каталога, а не юридическое заключение.

Источники

github.com/ad-si/PerspecОсновной★ 793 звёздактивность 12 окт. 2026 г.Основной репозиторий · Уверенность 1.00

Отзывы

Войдите, чтобы написать отзыв

Отзывов пока нет.

Альтернативы

nodezatorПохожий
Универсальный редактор узлов на PythonUnlicense · Десктопные приложения
exifcleanerПохожий
Кроссплатформенное настольное приложение с графическим интерфейсом для очистки метаданных изображенийMIT · Десктопные приложения
quick-picture-viewerПохожий
🖼️ Легковесная универсальная программа для просмотра изображений на рабочем столе для Windows. Лучшая замена стандартной программе просмотра фотографий Windows.GPL-3.0 · Десктопные приложения
mouziПохожий
Бесплатный автоматический органайзер файлов с приоритетом конфиденциальности, который незаметно сортирует вашу папку «Загрузки» из системного трея.MIT · Десктопные приложения
jet-pilotПохожий
Красивый нативный настольный клиент для Kubernetes. Все кластеры и облачные аккаунты в одном месте. Бесплатный и с открытым исходным кодом, без учётной записи и без телеметрии.MIT · Десктопные приложения
spotifastПохожий
Spotify, нативно и быстро. Одно лёгкое приложение на Rust для всей вашей медиатеки, локального воспроизведения и Spotify Connect в Linux, macOS и Windows.MIT · Десктопные приложения

README

Из ad-si/Perspec · лицензия AGPL-3.0 · загружено 29 окт. 2026 г.

App and workflow to perspectively correct images. For example whiteboards, document scans, or facades.

[Screenshot of Perspec app]


  • App Workflow
    • 1. Take photos
    • 2. Open Perspec app
    • 3. Select photos to correct
    • 4. Save the corrected image
    • Combine several photos into PDFs
  • Installation
    • Prebuilt
    • From Source
  • Usage via CLI
  • Interface Scaling
  • Photo Digitization Workflow
    • Additional Steps
  • Technologies
  • Related
  • License

App Workflow

1. Take photos

Perspec is great for correcting photos of documents, receipts, whiteboards, facades, or any other planar objects.

2. Open Perspec app

3. Select photos to correct

Either use the "Select Files" button or simply drag & drop the photos onto the window.

Perspec's integrated computer vision algorithms will automatically detect the corners of the document and mark them with circles.

    Red o----------------o Green
        |                |
        |    Document    |
        |                |
Magenta o----------------o Blue

If the corners are not detected correctly, you can manually drag the circles or the edges to the correct position.

To place corners outside of the photo or to position them more precisely, zoom with the − and + buttons in the bottom right corner (or the − and + keys). Click the zoom level (or hit 0) to show the whole photo again. Drag the photo with the right or middle mouse button or move it with the arrow keys.

4. Save the corrected image

Either click one of the save buttons or hit Enter to save the corrected image.

This will save the image in the same directory as the original photo with -fixed appended to the filename.

If you selected multiple photos, they will be opened one after another, sorted naturally by their path (e.g. IMG_9.jpeg before IMG_10.jpeg).

Combine several photos into PDFs

With the PDF output format, the save button is replaced by a Start PDF 1 button, which starts a new PDF with the current photo. The PDF is named after the photo. While a PDF is open, an Add page 2 to PDF 1 button adds the photo as the next page to it. This way, the photos of several documents can be processed in one go.

Enter adds the photo to the open PDF, and Shift + Enter starts a new PDF.

A PDF is written once all its pages were added: When the next photo starts a new PDF, after the last photo, or when the window is closed.

Installation

Prebuilt

You can get the current and previous versions from the releases page.

The current nightly version can be downloaded at ad-si/Perspec/actions. However, it's necessary to fix the file permissions after download:

chmod +x ./Perspec.app/Contents/MacOS/perspec

On macOS you can also install it via this Homebrew tap:

brew install --cask ad-si/tap/perspec

From Source

Build it from source with Haskell's stack.

git clone https://github.com/ad-si/Perspec
cd Perspec
make install

This copies the Perspec.app to your /Applications directory and makes the perspec command available on your path. You can then either drop images on the app window, or use it via the CLI like perspec fix image.jpeg

On Linux and NixOS, the Nix Flake provides all necessary dependencies:

nix develop
stack install  # Or: hpack && cabal install

Usage via CLI

It's also possible to directly invoke Perspec via the CLI like so:

/Applications/Perspec.app/Contents/Resources/perspec fix path/to/image.jpeg

You can also pass several images and they will all be opened one after another. This is very useful for batch correcting a large set of images.

Interface Scaling

Perspec scales its interface with the scaling setting of the display it's shown on, so that it has the same physical size everywhere.

If the detected scaling doesn't match what you want (e.g. because of a misconfigured Xft.dpi on X11), set the PERSPEC_UI_SCALE environment variable to override it:

PERSPEC_UI_SCALE=1.5 perspec gui

Photo Digitization Workflow

  1. Take photos
    1. Use camera app which lets you lock rotation (e.g. OpenCamera). Otherwise check out the guide below to fix rotation.
    2. Use a sound activated camera to take photos simply by clicking your tongue or snipping your finger. E.g. with:
  2. Use perspec rename sub-command to fix order and names of scanned files.
  3. Verify that
    • All pages were captured and have the correct filename
    • Images are sharp enough
    • Images have a high contrast
    • Images have correct orientation
  4. For best image quality convert images optionally to a lossless format (e.g. png), apply rotations, and convert them to grayscale. Attention: Exclude the covers!
    mogrify -verbose -format png \
      -auto-orient -colorspace gray photos/*.jpeg
    
  5. Use Perspec to crop images
    perspec fix photos/*.png
    

Additional Steps

Improve colors with one of the following steps:

  1. Normalize dynamic range:
    mogrify -verbose -normalize photos/*.png
    
  2. Convert to black and white:
    #! /usr/bin/env bash
    
    find . -iname "*.png" | \
    while read -r file
    do
      magick \
        -verbose \
        "$file" \
        \( +clone -blur 0x60 -brightness-contrast 40 \) \
        -compose minus \
        -composite \
        -negate \
        -auto-threshold otsu \
        "$(basename "$file" ".png")"-fixed.png
    done
    

In order to rotate all photos to portrait mode, you can use one of the following commands:

mogrify -verbose -auto-orient -rotate "90>" photos/*.jpeg
mogrify -verbose -auto-orient -rotate "-90>" photos/*.jpeg

Technologies

  • Core is written in Haskell
  • Image manipulation and computer vision are handled by FlatCV
  • Text recognition is handled by Tesseract, which is compiled from source as part of the build (see tesseract-bundled). Its English, German, and Spanish models are embedded into the binary.
  • PDFs are created with HPDF

Related

Check out ad-si/awesome-scanning for an extensive list of related projects.

License

Perspec's source code is licensed under the AGPL-3.0.

The app itself is fully functional without buying a license. There are no locked features, no watermarks, and no export limits. Unlicensed versions merely remind you to buy one:

  • The window title is suffixed with ⚠️ NOT REGISTERED.
  • Before an image is saved, a "Buy License" banner is shown for 10 seconds. The image is saved afterwards either way.

If you'd like to get rid of those reminders and support further development, you can buy a license. Then add the license key to Perspec's config file at ~/.config/Perspec/config.yaml (it's created automatically on first launch):

licenseKey: your-license-key
Открыть репозиторий ↗