Drag and drop auf Bash script?

bluedxca93

Commander
Registriert
Juli 2019
Beiträge
2.059
Bash:
#!/bin/bash

rm /tmp/stack_files
mkdir /dev/shm/stacking
mkdir /dev/shm/images
cp /opt/auto_stack.py  /dev/shm/auto_stack.py
zenity --title="Stacking IMAGES SELECTION FOLDER" --text="Drag file to below box" --entry --width=600 | cut -c 8- | tr -d '\r' >> /tmp/stack_files

readarray -t blx_lines < "/tmp/stack_files"

for blx_line in "${blx_lines[@]}"; do
    cp $blx_line /dev/shm/stacking  2>/dev/null
done

cd /dev/shm/stacking
gm mogrify -format png -depth 16  *.*
cd ..

cp /dev/shm/stacking/*.png  /dev/shm/images
cd /dev/shm
python3 auto_stack.py images/ result-orb.png --method ORB
python3 auto_stack.py images/ result-ecc.png --method ECC

rm -rf  /dev/shm/stacking
rm -rf /dev/shm/images
rm -rf /tmp/stack_files

Was ich egrne hätte:
das ins 1 Fenster gleichgroße Bilder per drag and drop reinkopiert werden können und dann die Stacking funktion ausgeführt wird siehe:
https://github.com/maitek/image_stacking.

Es funktioniert bereits besser als erwartet. Gibt es eine Option das icvh die Dateien result-ecc und result.png an einen Speichern unter Dialog senden kann?
 
Bash:
inotifywait -m -e create "$DIR" |
  while read path action file; do
    echo "Found new file, processing: $file"
    #save as dialogue
    read -p "Enter destination directory for processed file: " dest_dir
    mv "$DIR/$file" "$dest_dir"
    echo "File moved to: $dest_dir"
  done

wuerde das grob so machen. Wenn neue dateien in einen ordner gedragged werden, lass diese verarbeiten. Danach fragt er wo die verarbeiteten dateien gespeichert werden
 
Zurück
Oben