ラップトップで重複した写真を探すためのサンプル WinForm C# アプリを作成したいと考えています。
私の質問は、いくつかのレコード、タグ、Exif データ、または JPG(写真) ファイルに固有の何かがあるかどうかです。
そのため、データセットに入れられたデータを読み取り、重複を探すことができます。
5 に答える
Exifデータは唯一無二と言えます。次の表は、Exif データから何を取得するかを簡単にまとめたものです: http://en.wikipedia.org/wiki/Exchangeable_image_file_format#Example
このプロジェクトを見てください。コードが役立つことを確認してください。
このstackoveflow questionには、Exif データを取得するための適切な回答があります。
「フレームワークの v3 (またはそれ以降) に対してコンパイルしている場合は、Metadata プロパティを通じて EXIF メタデータを公開する BitmapSource クラスを使用して画像を読み込むことができます」
それにもかかわらず、私は名前と日付を比較しますが、それで十分なはずです。
ファイルのチェックサムを使用しないのはなぜですか? チェックサムをキーとしてスキャンしたすべてのファイルのハッシュテーブルを作成します
写真をバイトごとに読み込んで比較することができます。それらが一致しない場合は、読むのをやめてください。
このようなもの。それはかなり曖昧ですが、あなたはその考えを理解するでしょう。
while (match && !end)
{
b1 = getnexctbytefromfilefirstfile();
b2 = getnextbytefromfilesecondfile();
if(b1 != b2)
{
match = false;
}
if(b1 == null || b2 == null)
{
end = true;
}
}
プロパティを比較するだけで、それらがすべて一致する場合は、コンテンツをハッシュして比較します。
ハッシュ ルートを使用する場合は、この質問をご覧ください。