Biblioteca visualSeleção de arquivosFerramentas de análise
Smart Photo Organizer

Seu acervo.Uma visão organizada.

Pastas, miniaturas e ferramentas de análise em um aplicativo desktop.

Organiza um acervo de fotos no próprio computador: qualidade, categorias, rostos, texto e duplicatas.Organiza fotos no computador: categorias, rostos e duplicatas.

App desktopFotosAutoral

  • Electron
  • JavaScript
  • sharp
  • Tesseract.js
Biblioteca
visual
Seleção
de arquivos
Ferramentas
de análise
Smart Photo Organizer

Seu acervo.Uma visão organizada.

Pastas, miniaturas e ferramentas de análise em um aplicativo desktop.

  • Electron
  • JavaScript
  • sharp
  • Tesseract.js

Organiza um acervo de fotos no próprio computador: qualidade, categorias, rostos, texto e duplicatas.Organiza fotos no computador: categorias, rostos e duplicatas.

App desktopFotosAutoral

  • Electron
  • JavaScript
  • sharp
  • Tesseract.js

PortfólioSmart Photo Organizer

A qualidade de cada foto

Quantos bytes cada pixel deveria ter.

Uma foto pode parecer boa na miniatura e estar destruída por compressão. O app compara o tamanho do arquivo com o que a foto deveria pesar e dá um selo a cada uma. Escolha um exemplo ou mexa na largura, na altura e no peso do arquivo.

A foto

Proporção mais próxima (entre 8)
  • 1:1
  • 4:3
  • 3:4
  • 16:9
  • 9:16
  • 3:2
  • 2:3
  • 21:9

A conta do app

Megapixels
12,19
Deveria pesar (pixels × 0,5 byte)
5,8 MB
Razão (arquivo ÷ esperado)
0,55

Onde a razão cai: abaixo de 0,15 é muito comprimida; abaixo de 0,25, média; daí para cima, alta.

Alta qualidade

As regras são as do app (photoAnalyzer.js): primeiro a resolução, menos de 500 mil pixels é miniatura, menos de 1 milhão é baixa resolução; depois a razão entre o arquivo e meio byte por pixel (abaixo de 0,15, muito comprimida; abaixo de 0,25, média; senão, alta). Miniatura e muito comprimida ganham a marca de comprimida na grade. A proporção é a mais próxima entre 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3 e 21:9. Os exemplos são ilustrativos.

Cena do projeto: o app aberto num monitor, com uma lupa e pastas de fotos em vermelho

Encontre por categoria. Refine sua seleção.

Busca, categoria, qualidade e período para explorar o acervo.

CategoriasBusca por nomeFiltros combinados

Para separar praia, viagem, prints e documentos, o app não precisa olhar a foto: ele lê o nome do arquivo, a pasta, a proporção e a cor dominante, numa ordem fixa, vale a primeira regra que bate. Troque o caminho, a proporção e a cor e veja em que categoria a foto cai.

O arquivo

Tente:
Proporção

As 9 regras, na ordem

  1. ScreenshotNome · screenshot · captura · screen · print
  2. DocumentoNome · doc · scan · documento · pdf
  3. PraiaPasta · praia · beach
  4. ViagemPasta · viagem · travel · trip
  5. FamíliaPasta · familia · family
  6. NoturnoCor · 0,299R + 0,587G + 0,114B < 50
  7. PaisagemProporção · 16:9 · 21:9
  8. RetratoProporção · 9:16 · 3:4
  9. OutrosO resto · —

A foto cai emViagem

As regras são as do app (photoAnalyzer.js), em minúsculas e na ordem: o nome do arquivo vem antes da pasta, e a pasta é o caminho inteiro, uma pasta-avó chamada "Viagem" também conta. A regra procura "familia" sem acento, então uma pasta "Família" não casa (tente o último exemplo). O brilho vem da cor dominante (0,299 vermelho + 0,587 verde + 0,114 azul). As categorias Natureza e Cidade aparecem no filtro do app, mas nenhuma regra as gera.

Cena do projeto: o app num monitor, com ícones de rosto, texto e cópias na frente

Organização e análise. Um projeto autoral.

Rostos, texto nas fotos e duplicatas reunidos num só aplicativo.

Rostos
e pessoas
Texto
em imagens
Projeto
autoral

Para achar a mesma foto salva duas vezes, ou a versão clareada, recomprimida, o app tira de cada imagem uma impressão digital de 64 bits e compara quantos bits mudam. A conta abaixo roda de verdade, no seu navegador. Mexa na segunda foto ou troque por outra.

As duas fotos

Tênis preto com estrela
Original
Tênis preto com estrela
Comparada

A impressão de cada uma (64 bits)

Calculando…

As telas de verdade

A conta é a do app (duplicateDetector.js): a foto vira 32 × 32 em tons de cinza, passa pela transformada do cosseno (DCT), ficam os 8 × 8 coeficientes mais lentos sem o primeiro, e cada um vira 1 se estiver acima da média, 64 bits, escritos em 16 caracteres. Até 10 bits diferentes é duplicata; a semelhança é (1 − bits ÷ 64). Arquivo idêntico é cópia exata (o app compara o MD5). Aqui o encolhimento é o do navegador, então os bits podem variar um pouco dos do app. Brilho e recompressão mudam poucos bits; já um corte grande ou o espelhamento separam as duas, a impressão não é feita para isso.

As tecnologias

Do que é feito, peça por peça

Um programa de computador que trabalha só com as fotos da própria máquina: o Electron dá a janela, o sharp lê e encolhe as imagens, e a leitura de rostos e de texto roda localmente, sem mandar foto para fora. Escolha uma peça para ver o que ela faz aqui e em que arquivo está.

8tecnologias, em 2 camadas

Programa

Análise