これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド findimagedupesp です。
プログラム:
NAME
findimagedupes - 視覚的に類似した画像または重複した画像を検索します
SYNOPSIS
findimagedupes [オプション ...] [--] [ - | [ファイル ...] ]
オプション:
-f、--fingerprints=ファイル -c、--collection=ファイル
-M、--merge=ファイル -p、--program=プログラム
-P、--prune -s、--script=ファイル
-a、--add -i、--include=TEXT
-r、--rescan -I、--include-file=ファイル
-n、--比較なし
-q、-quiet
-t、--threshold=AMOUNT -v、--verbosity=LIST
-0、--null -h、--help
-R、--recurse --man
オプションを指定しないと、指定されたファイルが比較され、フィンガープリントは使用または更新されません。
データベース。
個々のファイルの代わりに画像のディレクトリを指定することもできます。 のサブディレクトリ
--recurse が使用されない限り、これらは検索されません。
OPTIONS
-0, - ヌル
ファイル「-」を指定すると、ファイルのリストが標準入力から読み取られます。
無し -0、リストは XNUMX 行に XNUMX つのファイルを指定します。たとえば、 find(1)
「-print」オプションを使用します。
自律的AI -0、リストは null で区切られることが期待されます (たとえば、次のように生成されます)。 find(1)
「-print0」オプションを使用します。
-a, - 追加
コマンドラインで指定されたファイルの重複のみを検索します。
指定された指紋データベースでも一致が検索されます。
-c, - コレクション=FILE
GQView コレクションの作成 FILE重複の .gqv。
プログラムは、整形式のコレクションを生成しようとします。 特に、それは、
警告を出力し、名前に改行または二重引用符が含まれるファイルを除外します。
(この状況では、 gqview(1) .gqv コレクション ファイルを作成するようです。
適切な読み込みにサイレントで失敗します。)
-d, - デバッグ=オプション
デバッグ出力を有効にします。 オプション オプション は変更される場合があります。 プログラムを見る
詳細についてはソースを参照してください。
-f, --指紋=FILE
FILE 指紋データベースとして。
と略される場合があります --fp or --db.
このオプションは、次の場合に複数回指定できます。 - マージ 使用されている。 (注記: FILE 可能性
カンマが含まれるため、複数のデータベースを単一のカンマとして指定することはできません。
区切りリスト。)
-h, - 助けて
このマニュアルの使用法とオプションのセクションを印刷します。
-i, - 含む=TEXT
TEXT カスタマイズする Bourne-shell コードです - 脚本.
これは、次を使用してコードが含まれた後に実行されます。 --インクルードファイル.
複数回与える場合もあります。 コードが連結されていきます。
-I, --インクルードファイル=FILE
FILE カスタマイズする Bourne-shell コードを含むファイルです - 脚本.
これは、次を使用して含まれるコードの前に実行されます。 - 含む.
- 男 デフォルトのページャを使用して完全なドキュメントを表示します。
- マージ=FILE
で指定されたデータベースを取得します --指紋 そしてそれらを新しいものにマージします
と呼ばれるデータベース FILE。 画像のフィンガープリントが競合すると、次の XNUMX つのうちのいずれかが発生します。
発生するアクション:
1. 画像が存在しない場合、エントリは省略されます。
2. イメージが存在する場合、古い情報は無視され、新しい情報が表示されます。
指紋は最初から生成されます。
デフォルトでは、競合がない限り、イメージの存在はチェックされません。 力に
失効したデータの削除、使用 - プルーン 同様に。
このオプションを使用する場合、画像ファイルのリストは必要ありません。 ただし、リストの場合は、
が提供されると、ファイルのフィンガープリント データがコピーまたは (再) 生成されます。
適切な。
日時 - マージ が使用される場合、元の指紋データベースは変更されません。
- プルーン 使用されている。
も参照してください。 --再スキャン
-n, --比較なし
重複を探さないでください。
-p, - プログラム=プログラム
起動する プログラム (前景) をクリックすると、重複の各セットが表示されます。
プログラム 既存の実行可能ファイルへのフルパスである必要があります。 多くのための
柔軟性については、を参照してください。 - 含む --インクルードファイル オプション。
も参照してください。 - 脚本
- プルーン 存在しない画像の指紋データを削除します。 効果はありません
ない限り、 --指紋 or - マージ も使用されます。
によって指定されたデータベース --指紋 以下の場合にのみ変更されます - マージ 使用されていません。
-q, - 静かな
このオプションは複数回指定できます。
通常、進行状況、警告、エラーのメッセージは標準エラー出力に出力されます。 これなら
オプションが指定されている場合、警告は表示されません。 XNUMX回以上指定するとエラーとなります
も表示されません。
リクエストされた情報 -冗長性 がまだ表示されています。
-R, -再帰
-再帰 サブディレクトリ内の画像を再帰的に検索します。 のために
歴史的な理由から、デフォルトではそうしません。 ループを避けるには、シンボリック リンクを使用します。
to ディレクトリは決して追跡されません。
-r, --再スキャン
不明なフィンガープリントだけでなく、すべてのフィンガープリントを (再) 生成します。
一緒に使用する場合 - 追加、コマンドラインで指定されたファイルのフィンガープリントのみ
が(再)生成されます。
示す - プルーン.
-s, - 脚本=FILE
と一緒に使用する場合 - プログラム, プログラム すぐには起動されません。 その代わり
sh(1) 形式のコマンドは次の場所に保存されます。 FILE。 このスクリプトは (必要に応じて) 編集できます。
そして手動で実行します。
なしで使用した場合 - プログラム、XNUMX つのスケルトン シェル関数が生成されます:「VIEW」
単に echo(1) その引数。 空の関数「END」はファイルの後に実行されます。
処理が終了しました。
端末に表示する (またはパイプに入力する) には、「-」を次のように使用します。 FILE.
If - 脚本 が指定されていない場合でも、スクリプトはメモリ内に作成され、実行されます。
すぐに。 したがって、デフォルトの VIEW 関数と END 関数を使用すると、行には次のセットが含まれます。
重複して表示されます。 見る: 例
も参照してください。 - 含む, --インクルードファイル
-t, - しきい値=AMOUNT
AMOUNT 類似性の閾値として。 パーセンテージを指定するには「%」を追加するか、「b」を追加します。
ビット。 下位互換性を保つため、単位のない数値は次のように扱われます。
割合。 パーセンテージは、一致に必要な最小値です。 ビットは最大です
異なる場合があります: bits=floor(2.56(100%))
小数部を指定することもできますが、精度は 100/256 (0.390625) までです。
パーセンテージであり、「ビット」には意味がありません。 そうでない場合、デフォルトは「90%」(「25b」)です。
指定。
-v, -冗長性=LIST
標準出力への情報メッセージの表示を有効にします。 LIST カンマです-
以下の区切りリスト:
md5 に従って、各ファイルのチェックサムを表示します。 md5sumとします。
指紋 | fp
各ファイルのbase64でエンコードされたフィンガープリントを表示します。
また、 -冗長性 複数回与えられる場合があり、蓄積されます。 注記
これは賢明ではないかもしれないということ。 たとえば、役立つように、 md5 おそらく出力
と合併すべきではありません 指紋 データ。
DESCRIPTION
画像の重複を見つける ファイルのリストを比較して、視覚的な類似性を確認します。
画像のフィンガープリントを計算するには:
1) 画像を読み取ります。
2) サイズを標準化するために 160x160 にリサンプルします。
3) 彩度を下げてグレースケールにします。
4) ノイズを取り除くために大きくぼかします。
5) 強度を可能な限り分散するために正規化します。
6) 画像のコントラストをできるだけ高くするためにイコライズします。
7) 再度 16x16 までリサンプリングします。
8) 1bpp に減らします。
9) フィンガープリントはこの生の画像データです。
XNUMX つの画像の類似性を比較するには:
1) 指紋のペアを取得し、それらの XOR を実行します。
2) 結果内の 1 ビットの割合を計算します。
3) パーセンテージがしきい値を超えた場合、ファイルが類似していると宣言します。
リターン VALUE
0成功。
1 使用状況情報が要求されました ( - 助けて or - 男)、または警告がありました。
2 無効なオプションまたは引数が指定されました。
3 実行時エラー。
その他の戻り値は、何らかの内部エラーを示します。
診断
書かれる。
例
findimagedupes -R -- 。
現在のディレクトリのすべてのサブディレクトリでイメージを検索して比較します。
find -type f 。 -print0 | findimagedupes -0 -- -
同上。
findimagedupes -i 'echo "#sort:manual"' -i 'ビュー(){ "$@" の f に対して;エコーを実行します
\"file://$f\";完了 }' -- *.jpg > dupes.gqv
スクリプト フックを使用して、次の用途に適したコレクション スタイルの出力を生成します。 グッサムとします。
onworks.net サービスを使用してオンラインで findimagedupesp を使用する