web-dev-qa-db-ja.com

バッチ処理のために個々の写真にフラグを付けることができる基本的なフォトビューアーはありますか?

私が探しているのは、デフォルトのEye of Gnomeのような迅速でシンプルな写真ビューアですが、一部の写真でキーを押して「選択」フラグを切り替えることができるという1つの追加機能があります。選択したすべての写真に対して、すべてを別のディレクトリにコピーするなど、グローバルアクションを実行できるようにします。

使用例:旅行から戻ってきて、DSLRで6000枚以上の巨大な写真を撮りましたが、そのうち「最高の」写真(20分の1程度)を選択したいと思います。 1000x1000のようなサイズにバッチサイズを変更します。シャープネスなどの適切な詳細を確認するのに適していますが、Eye of Gnomeですばやくフリックできるほど小さいサイズです。しかし、気に入ったものが見つかったら、その番号をメモしてファイルシステムを調べ、ドラッグアンドドロップで手動で別のディレクトリにコピーする必要があります。これは面倒です。スペースを押して好きなものにマークを付け、後ですべてコピーできたらもっといいのではないでしょうか。 (実際には、選択した写真のファイル名を取得し、そこから元の大きな写真に戻って処理します。)

EOGには、画像ギャラリーを制御してクリックして複数の画像を選択できる機能がありますが、新しい画像をクリックするとすぐに前の選択が失われるため、一度に数千を表示している場合は基本的に役に立ちません。 (プレビューを使用しているときにNautilusをCtrlキーを押しながらクリックしても同じことが起こります。プレビューは小さすぎて、写真が鮮明かどうかを確認できません。)

EOGと同じくらい速くてシンプルで、すでにこの機能またはそれに近いものを備えているビューアを誰かが私に向けてくれることを願っています。私はすべての写真をAppleのスタイルで「ライブラリ」にインポートすることを主張するプログラムには特に興味がありません---単純なバニラファイルシステムフォルダーだけで整理された写真を使い続けたいです。

1
st01

GUIを備えたシェルスクリプトツール

選択した画像のリストを作成できるシェルスクリプトツールを変更しました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を使用)で作成されました。

feh-create-new-list-or-append.png:

enter image description here

feh-select-picture.png:

enter image description here

feh-skip-other-pictures.png:

enter image description here

feh-terminal-output.png:

enter image description here

1
sudodus