Есть ли базовый просмотрщик фотографий, который позволяет пометить отдельные фотографии для пакетной обработки?

То, что я ищу, - это быстрый и простой просмотрщик фотографий, такой как Eye of Gnome по умолчанию, но с одной дополнительной возможностью, состоящей в том, чтобы нажимать клавишу на некоторых фотографиях для переключения флага "выбора", а затем на не выполнять глобальные действия со всеми выбранными фотографиями, например копировать их в другой каталог.

Вариант использования: я возвращаюсь из поездки, и я сделал более 6000 гигантских фотографий с помощью моей цифровой зеркальной фотокамеры, из которых я хочу выбрать "лучшие" (примерно 1 из 20 или около того). Я изменяю их размер до размера, например, 1000x1000, чтобы увидеть разумные детали резкости и т. Д., Но достаточно мал, чтобы быстро пролистать их с помощью Eye of Gnome. Но затем, когда я нахожу тот, который мне нравится, я должен записать номер и пройти через файловую систему, чтобы перетаскивать его вручную в другой каталог, что является болью. Разве не было бы намного лучше, если бы я мог просто нажать пробел, чтобы отметить те, которые мне нравятся, и скопировать их все позже? (На самом деле, я бы взял имена файлов выбранных фотографий и затем вернулся к оригинальным крупным файлам и обработал их.)

В EOG есть функция, с помощью которой вы можете щелкнуть мышью по галерее изображений, чтобы выбрать несколько изображений, но это практически бесполезно, когда вы просматриваете тысячи одновременно, потому что как только вы нажимаете на новое изображение, вы теряете предыдущий выбор. (То же самое происходит, если вы щелкаете по кнопке "Наутилус" при предварительном просмотре, который, кстати, слишком мал, чтобы увидеть, резкое ли фото.)

Я надеюсь, что кто-то может указать мне на зрителя, который так же быстр и прост, как EOG, и уже имеет эту функцию или что-то похожее на нее. Меня нисколько не интересуют программы, которые настаивают на импорте всех моих фотографий в свою "библиотеку" в стиле Apple - я хочу продолжать работать с моими фотографиями, организованными просто с простыми папками ванильной файловой системы.

1 ответ

Инструмент Shellscript с графическим интерфейсом

Я изменил инструмент шеллскрипта, который может создать список выбранных изображений selected.txt, Вы можете использовать клавишу Enter, чтобы выбрать изображение, или клавишу Escape, чтобы пропустить его.

Вы также можете повторить выбор, добавив файлы в список, и вы можете пропустить оставшиеся файлы с помощью окна "Пропустить другие изображения".

Следующие файлы создаются (в текущем каталоге)

names.txt    # a list of all the files in the current directory tree
list.txt     # a working list of selected files, that may contain duplicates
selected.txt  # the final list of selected files

Вам нужен зритель feh показать картинки и xterm чтобы помочь получить окно с вопросом наверху (согласно тестам в Kubuntu и Lubuntu).

sudo apt install feh xterm

Скрипт проверяется в

  • Lubuntu и Ubuntu 16.04 LTS
  • Ubuntu 17.10
  • Kubuntu Bionic (18,04 LTS).

Вот шеллскрипт:

#!/bin/bash

# Copyright 2018 Nio Wiklund
#
# GPLv3: GNU GPL version 3
#
# This shellscript works with files in the current directory and its
# subdirectories. There is also an assumption that you
#
# batch resize the files to jpg and/or png files.
#
# This can be modified in the lines starting with 'find'
#
# You may need to select another 'sleep time' in order to
# get the question window on top of the picture window,
# if the files load slowly into the file viewer 'feh'.
#

########################################################################

marker () {

 xterm -geometry 10x1 -e bash -c \
 "zenity --title='Select this picture' --question --text='Select picture?' \
 --width=240 2> /dev/null && echo $1 >> list.txt"
}

skipper () {

 ( zenity --title="Skip other pictures" --width=480 --height=240 \
 --question --text="Are you sure that you want to skip all the other pictures?" \
 2> /dev/null && > skip ) &
}

counter () {

 cnt=$(wc -l "$1" | sed 's/ .*//')
 echo "$cnt pictures are listed in '$1'"
}
########################################################################

# main

########################################################################

if test -e skip
then
 rm skip
fi

if test -s selected.txt
then
 zenity --title="Create a new list or append?" --question \
 --width=360 --text="You can use the mouse, but maybe it is
 easier to use the 'Enter' and 'Escape' keys

 Append to previous selection?" 2> /dev/null

 if [ "$?" == "0" ]
 then
  cp selected.txt list.txt
 else
  > list.txt
 fi
fi

skipper

find -iname "*.jpg" | sort > names.txt
find -iname "*.png" | sort >> names.txt
counter names.txt

ifs0="$IFS"
while IFS='' read -r line || [[ -n "$line" ]]; do
 if test -e skip
 then
  break
 fi
 feh -g 1024x1024 "$line" & pid=$!
 sleep 0.5
 marker "$line"
 kill "$pid"
done < names.txt
IFS="$ifs0"

if test -s list.txt
then
 sort -u list.txt | tr -s '\n' '\n' > selected.txt
 counter selected.txt
else
 echo "No picture selected"
fi

Скриншоты

Следующие скриншоты были созданы в Ubuntu 17.10 (с Wayland).

Фэ создать-новый-список-или-append.png:

Фэ-выбрать-picture.png:

Фэ-скип другой-pictures.png:

Feh-терминально-output.png:

Другие вопросы по тегам