Есть ли базовый просмотрщик фотографий, который позволяет пометить отдельные фотографии для пакетной обработки?
То, что я ищу, - это быстрый и простой просмотрщик фотографий, такой как 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:
