Verlustfreier Screenshot-Resizer - erkennt automatisch "leere" Regionen

Ich habe eine ähnliche Frage zu Programming Puzzles & Code Golf gestellt , aber ich würde eine Version mit ein wenig Benutzerfreundlichkeit benötigen.

Hier ist, was die Software tun soll:

  • Screenshots aus der Zwischenablage abrufen
  • Screenshots von der Festplatte öffnen
  • nicht relevante Teile eines Screenshots automatisch entfernen. Ich möchte das nicht wie heute manuell machen. Es ist zu viel Aufwand.
  • Stellen Sie eine Benutzeroberfläche zum Ändern der Parameter (falls vorhanden) und zur Vorschau des Ergebnisses bereit
  • Kopieren Sie das Ergebnis in die Zwischenablage
  • Speichern Sie das Ergebnis in einer Datei
  • unter Windows arbeiten
  • offline arbeiten
  • kosten weniger als 50 USD, keine Jahresgebühren, kein PC-bezogenes DRM

Das Programm muss nicht unbedingt

  • Umgang mit Aero- / Glaseffekten

Das Programm muss nicht

  • haben eine Bildbearbeitungsfunktion
  • Screenshots selbst aufnehmen (ich werde den eingebauten PrintScrSchlüssel von Windows verwenden)

Der Grund, warum ich das brauche:

Wenn ich nach Screenshots frage, machen die Leute Screenshots ihrer Desktops, die heutzutage 1920 x 1080 sind. Ich muss sie auf Beamern präsentieren, die manchmal nur 1024x768 verarbeiten können. Dadurch werden die wichtigen Dinge des Screenshots unlesbar.

In vielen Fällen sind Anwendungen nicht für 1920 x 1080 ausgelegt und es gibt viel ungenutzten Speicherplatz, der entfernt werden kann.

Beispiele:

Vor:

Screenshot mit riesigem Platz

Entfernbare Bereiche (manuell markiert):

Abnehmbare Bereiche

Nach:

Screenshot nach dem Entfernen irrelevanter Bereiche

Versuchen Sie Greenshot (getgreenshot.org). Sie können alles, was sich in der Zwischenablage befindet, bearbeiten oder zur späteren Bearbeitung in einer Datei speichern. Glauben Sie nicht, dass Sie etwas finden werden, das ungenutzte Bereiche automatisch entfernt, denn „nicht genutzt“ ist subjektiv.
@sorinc: Eigentlich nicht so subjektiv. Es gibt Tools, die entwickelt wurden, um solche Dinge automatisch zu erledigen, siehe en.wikipedia.org/wiki/Seam_carving

Antworten (1)

Greenshot verfügt über eine integrierte Auto-Crop-Funktion, die jedoch nur funktioniert, wenn der Hintergrund eine einheitliche Farbe hat.

Allerdings hat Greenshot ein „External Commands“-Plug-in, mit dem Sie eines der Skripte aus Ihrer Code-Golf-Frage ausführen können .

Hier ist eine aktualisierte Version des Python-Skripts von @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])

Einrichtung (Windows)

  1. Ersetzen Sie bei Bedarf C:\Program Files\Greenshot\Greenshot.exein der letzten Zeile von delrows.pydurch den tatsächlichen Pfad von greenshot.exe.

  2. Speichern Sie das Skript, z C:\Programmes\seam-carving\delrows.py.

  3. Installieren Sie Greenshot und Python 3 .

  4. Installieren Sie die benötigten Python-Module mit Pip:

    pip install imageio matplotlib pillow numpy
    
  5. Klicken Sie im Benachrichtigungsbereich auf das Greenshot-Symbol und gehen Sie zu „Schnelleinstellungen“ > „Ziel“ > „Im Bildeditor öffnen“.

  6. Klicken Sie erneut auf das Greenshot-Symbol im Infobereich und wählen Sie „Externe Befehle konfigurieren“.

    „Externe Befehle konfigurieren“ im Greenshot-Taskleistenmenü

  7. Klicken Sie auf „Neu“.

  8. Geben Sie als „Name“ „Auto-Chop“ ein.

  9. Geben Sie bei „Command“ den vollständigen Pfad zu python.exe ein, zC:\Python37\python.exe

  10. Geben Sie für "Argument" den vollständigen Pfad zu delrows.py, in Anführungszeichen ein, gefolgt von einem Leerzeichen, "{0}", Leerzeichen und dem thresholdWert. Zum Beispiel:

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

    (Denken Sie daran, der thresholdWert gibt an, wie viele Pixel sich unterscheiden können, damit zwei Zeilen als gleich angesehen werden. Fangen Sie also klein an und erhöhen Sie ihn nach Bedarf.)

  11. Klicken Sie auf „OK“ und „OK“, um Ihre Einstellungen zu speichern.

    Geben Sie hier die Bildbeschreibung ein

Verwendungszweck

  1. Drücken Sie Print Screenund wählen Sie einen Bereich Ihres Bildschirms aus, den Sie erfassen möchten.

  2. Die Region wird im Greenshot Image Editor geöffnet. Wählen Sie oben in der Symbolleiste die Schaltfläche "Auto-Chop".

    Die neue AutoChop-Schaltfläche erscheint in der Symbolleiste von Greenshot Image Editor

  3. Das Skript wird ausgeführt und der automatisch geschnittene Screenshot wird in einem neuen Greenshot-Fenster geöffnet.

    AutoChopped-Bild wird in neuem Fenster geöffnet

  4. Wenn zu viel zerkleinert wurde, verringern Sie den Schwellenwert in Schritt 10 des Setups. Wenn nicht genug gehackt wurde, erhöhen Sie den Schwellenwert und versuchen Sie es erneut.

Merkmale

  • Kann Bilddateien aus der Zwischenablage, der Festplatte oder durch direktes Erfassen öffnen.
  • Entfernt automatisch identische oder ähnliche Spalten und Zeilen aus dem Bild.
  • Das Ergebnis kann in die Zwischenablage kopiert oder in einer Datei gespeichert werden.
  • Offline-Programm für Windows
  • Gratis
  • Enthält andere integrierte Bearbeitungswerkzeuge (Ellipse, Pfeil, Unschärfe, Text hinzufügen, Zähler usw.)