Biblioteca visualSelección de archivosHerramientas de análisis
Smart Photo Organizer

Tu acervo.Una vista organizada.

Carpetas, miniaturas y herramientas de análisis en una aplicación de escritorio.

Organiza un acervo de fotos en la propia computadora: calidad, categorías, rostros, texto y duplicados.Organiza fotos en la computadora: categorías, rostros y duplicados.

App de escritorioFotosPropio

  • Electron
  • JavaScript
  • sharp
  • Tesseract.js
Biblioteca
visual
Selección
de archivos
Herramientas
de análisis
Smart Photo Organizer

Tu acervo.Una vista organizada.

Carpetas, miniaturas y herramientas de análisis en una aplicación de escritorio.

  • Electron
  • JavaScript
  • sharp
  • Tesseract.js

Organiza un acervo de fotos en la propia computadora: calidad, categorías, rostros, texto y duplicados.Organiza fotos en la computadora: categorías, rostros y duplicados.

App de escritorioFotosPropio

  • Electron
  • JavaScript
  • sharp
  • Tesseract.js

PortafolioSmart Photo Organizer

La calidad de cada foto

Cuántos bytes debería tener cada píxel.

Una foto puede verse bien en miniatura y estar destruida por la compresión. La app compara el tamaño del archivo con lo que la foto debería pesar y le da un sello a cada una. Elige un ejemplo o mueve el ancho, el alto y el peso del archivo.

La foto

Proporción más cercana (entre 8)
  • 1:1
  • 4:3
  • 3:4
  • 16:9
  • 9:16
  • 3:2
  • 2:3
  • 21:9

La cuenta de la app

Megapíxeles
12,19
Debería pesar (píxeles × 0,5 byte)
5,8 MB
Razón (archivo ÷ esperado)
0,55

Dónde cae la razón: debajo de 0,15 es muy comprimida; debajo de 0,25, media; de ahí para arriba, alta.

Alta calidad

Las reglas son las de la app (photoAnalyzer.js): primero la resolución, menos de 500 mil píxeles es miniatura, menos de 1 millón es baja resolución; después la razón entre el archivo y medio byte por píxel (debajo de 0,15, muy comprimida; debajo de 0,25, media; si no, alta). Miniatura y muy comprimida reciben la marca de comprimida en la cuadrícula. La proporción es la más cercana entre 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3 y 21:9. Los ejemplos son ilustrativos.

Escena del proyecto: la app abierta en un monitor, con una lupa y carpetas de fotos en rojo

Encuentra por categoría. Refina tu selección.

Búsqueda, categoría, calidad y período para explorar el acervo.

CategoríasBúsqueda por nombreFiltros combinados

Para separar playa, viaje, capturas y documentos, la app no necesita mirar la foto: lee el nombre del archivo, la carpeta, la proporción y el color dominante, en un orden fijo, vale la primera regla que coincide. Cambia la ruta, la proporción y el color y mira en qué categoría cae la foto.

El archivo

Prueba:
Proporción

Las 9 reglas, en orden

  1. CapturaNombre · screenshot · captura · screen · print
  2. DocumentoNombre · doc · scan · documento · pdf
  3. PlayaCarpeta · praia · beach
  4. ViajeCarpeta · viagem · travel · trip
  5. FamiliaCarpeta · familia · family
  6. NocturnoColor · 0,299R + 0,587G + 0,114B < 50
  7. PaisajeProporción · 16:9 · 21:9
  8. RetratoProporción · 9:16 · 3:4
  9. OtrosEl resto · —

La foto cae enViaje

Las reglas son las de la app (photoAnalyzer.js), en minúsculas y en orden: el nombre del archivo va antes que la carpeta, y la carpeta es la ruta entera, una carpeta abuela llamada "Viagem" también cuenta. Las palabras que busca están en portugués e inglés. La regla busca "familia" sin tilde, así que una carpeta "Família" no coincide (prueba el último ejemplo). El brillo sale del color dominante (0,299 rojo + 0,587 verde + 0,114 azul). Las categorías Naturaleza y Ciudad aparecen en el filtro de la app, pero ninguna regla las genera.

Escena del proyecto: la app en un monitor, con íconos de rostro, texto y copias al frente

Organización y análisis. Un proyecto propio.

Rostros, texto en las fotos y duplicados reunidos en una sola aplicación.

Rostros
y personas
Texto
en imágenes
Proyecto
propio

Para encontrar la misma foto guardada dos veces, o la versión aclarada, recomprimida, la app saca de cada imagen una huella digital de 64 bits y cuenta cuántos bits cambian. La cuenta de abajo corre de verdad, en tu navegador. Ajusta la segunda foto o cámbiala por otra.

Las dos fotos

Zapatilla negra con estrella
Original
Zapatilla negra con estrella
Comparada

La huella de cada una (64 bits)

Calculando…

Las pantallas reales

La cuenta es la de la app (duplicateDetector.js): la foto pasa a 32 × 32 en tonos de gris, pasa por la transformada del coseno (DCT), quedan los 8 × 8 coeficientes más lentos sin el primero, y cada uno pasa a 1 si está por encima del promedio, 64 bits, escritos en 16 caracteres. Hasta 10 bits distintos es duplicado; la semejanza es (1 − bits ÷ 64). Un archivo idéntico es copia exacta (la app compara el MD5). Aquí la reducción es la del navegador, así que los bits pueden variar un poco de los de la app. Brillo y recompresión cambian pocos bits; un recorte grande o el espejado las separan, la huella no está hecha para eso.

Las tecnologías

De qué está hecho, pieza por pieza

Un programa de escritorio que trabaja solo con las fotos de la propia máquina: Electron da la ventana, sharp lee y achica las imágenes, y la lectura de rostros y de texto corre localmente, sin enviar ninguna foto afuera. Elige una pieza para ver qué hace aquí y en qué archivo está.

8tecnologías, en 2 capas

Programa

Análisis