Resizer de captura de pantalla sin pérdida: detecta automáticamente las regiones "vacías"

Hice una pregunta similar sobre Programación de rompecabezas y código de golf , pero necesitaría una versión con un poco de facilidad de uso.

Esto es lo que hará el software:

  • obtener capturas de pantalla del portapapeles
  • abrir capturas de pantalla desde el disco
  • elimina automáticamente partes de una captura de pantalla que no son relevantes. No quiero hacer esto manualmente como hoy. Es demasiado esfuerzo.
  • proporcionar una interfaz de usuario para cambiar los parámetros (si los hay) y obtener una vista previa del resultado
  • copiar el resultado al portapapeles
  • guardar el resultado en un archivo
  • trabajar en Windows
  • trabajar sin conexión
  • cuesta menos de 50 USD, sin tarifas anuales, sin DRM relacionado con la PC

El programa no necesariamente

  • lidiar con efectos aerodinámicos / de vidrio

El programa no necesita

  • tener funcionalidad de edición de imágenes
  • capturar capturas de pantalla en sí (usaré PrintScrla clave integrada de Windows)

La razón por la que necesito esto:

Cuando pido capturas de pantalla, las personas toman capturas de pantalla de sus escritorios, que actualmente tienen una resolución de 1920x1080. Necesito presentarlos en proyectores que a veces solo pueden manejar 1024x768. Como resultado, las cosas importantes de la captura de pantalla se vuelven ilegibles.

En muchos casos, las aplicaciones no están diseñadas para 1920x1080 y hay mucho espacio sin usar que se puede eliminar.

Ejemplos:

Antes:

Captura de pantalla con gran espacio

Áreas extraíbles (resaltadas manualmente):

Áreas removibles

Después:

Captura de pantalla después de eliminar áreas irrelevantes

Pruebe Greenshot (getgreenshot.org). Puede editar lo que esté en el portapapeles o guardarlo en un archivo para editarlo más tarde. No crea que encontrará algo que elimine automáticamente las áreas no utilizadas porque "no utilizado" es subjetivo.
@sorinc: No es tan subjetivo en realidad. Hay herramientas diseñadas para hacer este tipo de cosas automáticamente, consulte en.wikipedia.org/wiki/Seam_carving

Respuestas (1)

Greenshot tiene una función de recorte automático incorporada, pero solo funciona cuando el fondo es de un color uniforme.

Sin embargo, Greenshot tiene un complemento de "Comandos externos", que puede usar para ejecutar uno de los scripts de su pregunta de golf de código .

Aquí hay una versión actualizada del script Python de @DenDenDodelrows :

#delrows.py, from DenDenDo at https://codegolf.stackexchange.com/a/46964

import imageio
from matplotlib import pylab
from pylab import *
from sys import argv
from subprocess import call

threshold = int(argv[2])

def delrows(im, threshold):
    d = diff(im, axis=0)
    mask = where(sum((d!=0), axis=(1,2))>threshold)
    return transpose(im[mask], (1,0,2))

im7 = imageio.imread(argv[1])
newFile = argv[1] + "_" + argv[2] + ".png"
file = imageio.imwrite(newFile, delrows(delrows(im7,threshold),threshold))
call(["C:\Program Files\Greenshot\Greenshot.exe",newFile])

Configuración (Windows)

  1. Si es necesario, reemplace C:\Program Files\Greenshot\Greenshot.exeen la última línea de delrows.pycon la ruta real de greenshot.exe.

  2. Guarde el script, por ejemplo C:\Programmes\seam-carving\delrows.py, .

  3. Instale Greenshot y Python 3 .

  4. Instale los módulos Python necesarios con Pip:

    pip install imageio matplotlib pillow numpy
    
  5. Haga clic en el icono de Greenshot en el área de notificación y vaya a "Preferencias rápidas" > "Destino" > "Abrir en el Editor de imágenes".

  6. Vuelva a hacer clic en el icono de Greenshot en el área de notificación y seleccione "Configurar comandos externos".

    "Configurar comandos externos" en el menú de la bandeja del sistema de Greenshot

  7. Haga clic en "Nuevo".

  8. Para "Nombre", ingrese "Auto-Chop".

  9. Para "Comando", ingrese la ruta completa a python.exe, por ejemploC:\Python37\python.exe

  10. Para "Argumento", ingrese la ruta completa a delrows.py, entre comillas, seguida de un espacio, "{0}", espacio y el thresholdvalor. Por ejemplo:

    "C:\Programmes\seam-carving\delrows.py" "{0}" 29
    

    (Recuerde, el thresholdvalor es cuántos píxeles pueden diferir para que dos líneas se consideren iguales, así que comience poco a poco y aumente según sea necesario)

  11. Haga clic en "Aceptar" y "Aceptar" para guardar su configuración.

    ingrese la descripción de la imagen aquí

Uso

  1. Presiona Print Screeny selecciona una región de tu pantalla para capturar.

  2. La región se abre en el editor de imágenes de Greenshot. Seleccione el botón "Auto-Chop" en la barra de herramientas en la parte superior.

    Aparece el nuevo botón AutoChop en la barra de herramientas de Greenshot Image Editor

  3. El script se ejecuta y la captura de pantalla cortada automáticamente se abre en una nueva ventana de Greenshot.

    La imagen autocortada se abre en una nueva ventana

  4. Si se cortó demasiado, disminuya el valor de Umbral en el paso 10 de la configuración. Si no se cortó lo suficiente, aumente el valor del Umbral y vuelva a intentarlo.

Características

  • Puede abrir archivos de imagen desde el portapapeles, el disco o capturándolos directamente.
  • Elimina automáticamente columnas y filas idénticas o similares de la imagen.
  • El resultado se puede copiar al portapapeles o guardar en un archivo.
  • Programa sin conexión para Windows
  • Gratis
  • Incluye otras herramientas de edición integradas (elipse, flecha, desenfoque, agregar texto, contador, etc.)