グーグルでこれに対する答えを見つけることができませんでした。同じフォルダの写真を2回インポートすると、Shotwellは重複する写真をスキップします。しかし、どのように重複を検出しますか?いくつかの理由で同じ名前の写真の2つの異なるフォルダーをインポートすると、Shotwellはそれらが重複していると見なしますか?または、ファイルサイズも考慮して、誤った重複を発生させないようにしますか?または、それは写真をハッシュし、偽の複製をほとんど不可能にしますか?
単純な名前よりも高度なものだと思います。試しただけです。実際、それはまったく名前に基づいていないように思われます。
だから私は次のものを作成しました:
TestDir
│
├─ blue.png #Blue A4 page
├─ blue2.png #Blue A4 page
├─ green.png #Blue A4 page
├─ red.png #Yellow A4 page
├─ yellow.png #Yellow A4 page
├─ yellow2.png #Yellow A4 page
└ TestDir2
│
├─ yellow.png #Blue A4 page
└─ yellow.png #Blue A4 page
フォルダTestDirをインポートしました(サブディレクトリからもインポートします)。これは通知でした:
6 duplicate photos were not imported:
/home/tim/Pictures/Test/red.png
/home/tim/Pictures/Test/yellow2.png
/home/tim/Pictures/Test/green.png
/home/tim/Pictures/Test/blue2.png
(and 2 more)
2 photos successfully imported.
インポートした2つはblue.pngとyellow.pngです。これは、それらが最初に作成されたためです(重複がある場合は最も古いものが選択されます)。
これは次のテストで確認されました。
TestDir
│
├─ blue.png #Blue A4 page
├─ blue2.png #Blue A4 page
├─ green.png #Blue A4 page (sorry OCD people)
├─ red.png #Yellow A4 page (sorry OCD people)
├─ yellow.png #Yellow A4 page
├─ yellow2.png #Yellow A4 page
├─ pink2.png #Pink A4 page
├─ pink.png #Pink A4 page
└ TestDir2
│
├─ yellow.png #Blue A4 page
└─ yellow.png #Blue A4 page
pink2.png
およびpink.png
が作成されました。 pink2.png
が最初に作成され、次にpink.png
が作成されました
8 duplicate photos were not imported:
/home/tim/Pictures/Test/red.png
/home/tim/Pictures/Test/yellow2.png
/home/tim/Pictures/Test/green.png
/home/tim/Pictures/Test/blue2.png
(and 4 more)
3 photos successfully imported.
正常にインポートされたものは、blue.png
、yellow.png
およびpink2.png
でした。
そのため、ハッシュアルゴリズムを使用していると思います。
A4ページで色の1ピクセルだけを緑から黄色に変更すると、重複として検出されないほど正確です。かなり正確です!
実際、私はちょうどこの投稿を見つけました here :
このバグが修正されると、Shotwellは(排他的に)ファイルの完全なMD5ハッシュを使用して重複チェックを実行します。これは、重複を見つける非常に正確な方法です。
実際、 ソースコード の732行目は次のとおりです。 称賛@ジェレミー・ミゼレス
imported_full_md5_table.has_key(prepared_file.full_md5)) {
MD5ハッシュを使用しているようですね。