Aplicativo e fluxo de trabalho para corrigir imagens em perspectiva. Por exemplo, quadros brancos, digitalizações de documentos ou fachadas.
Etapa | Descrição | Resultado |
---|---|---|
1 | Tire fotos | |
2 | Abra o aplicativo Perspec | |
3 | Solte as imagens na janela | |
4 | Marque os cantos clicando neles | |
5 | Clique em um dos botões salvar (ou [Enter]) |
AVISO: Atualmente, o Perspec só funciona em macOS e Linux. Qualquer ajuda para fazê-lo funcionar no Microsoft (Ticket) seria muito apreciada!
Você pode obter esta versão (e as anteriores) na página de lançamentos.
A versão noturna atual pode ser baixada em https://github.com/feramhq/Perspec/actions. Porém, é necessário corrigir as permissões do arquivo após o download:
chmod +x
./Perspec.app/Contents/MacOS/Perspec
./Perspec.app/Contents/Resources/{perspec,script,imagemagick/bin/convert}
No macOS você também pode instalá-lo através deste toque Homebrew:
brew install --cask ad-si/tap/perspec
Construa-o a partir do código-fonte com a pilha de Haskell.
O Platypus, com ferramentas de linha de comando habilitadas, é necessário para compilar a partir do código-fonte.
git clone https://github.com/feramhq/Perspec
cd Perspec
make install
Isso copia o Perspec.app
para o diretório /Applications
e disponibiliza o comando perspec
em seu caminho. Você pode então soltar imagens na janela do aplicativo ou usá-las por meio da CLI, como perspec fix image.jpeg
Também é possível invocar diretamente o Perspec por meio da CLI da seguinte forma:
/Applications/Perspec.app/Contents/Resources/perspec fix path/to/image.jpeg
Você também pode passar várias imagens e todas elas serão abertas uma após a outra. Isto é muito útil para corrigir em lote um grande conjunto de imagens.
perspec rename
para corrigir a ordem e os nomes dos arquivos digitalizados.png
), aplique rotações e converta-as em tons de cinza. Atenção: Exclua as capas! mogrify -verbose -format png
-auto-orient -colorspace gray photos/ * .jpeg
perspec fix photos/ * .png
Melhore as cores com uma das seguintes etapas:
mogrify -verbose -normalize photos/ * .png
#! /usr/bin/env bash
find . -iname " *.png " |
while read -r file
do
convert
-verbose
" $file "
( +clone -blur 0x60 -brightness-contrast 40 )
-compose minus
-composite
-negate
-auto-threshold otsu
" $( basename " $file " " .png " ) " -fixed.png
done
Para girar todas as fotos para o modo retrato, você pode usar
mogrify -verbose -auto-orient -rotate " 90> " photos/ * .jpeg
ou
mogrify -verbose -auto-orient -rotate " -90> " photos/ * .jpeg
Uma vez marcados os cantos, a correção equivale a:
convert
images/example.jpg
-distort Perspective
' 8,35 0,0 27,73 0,66 90,72 63,66 67,10 63,0 '
-crop 63x66+0+0
images/example-fixed.jpg
Converte a imagem em tons de cinza e depois normaliza o intervalo de valores. (Usa -colorspace gray -normalize
do Imagemagick)
Converte imagem em formato binário com o método OTSU. (Usa -auto-threshold OTSU -monochrome
do Imagemagick)
O Perspec interpola automaticamente as partes faltantes usando o pixel mais próximo. (https://www.imagemagick.org/Usage/misc/#edge)
Confira ad-si/awesome-scanning para uma extensa lista de projetos relacionados.