0

このコードを最適化する必要があります。現在、このコードは機能します。extern ツール「exiftool」を使用して、ファイル内の datetimeoriginal タグを抽出できます。しかし、このプロセスが繰り返されると、これは遅すぎます。この情報を変数で直接抽出する方法はありますか?

void image::add_info_creation_date(char *name_jpg){  
//Execute exiftool in bash
stringstream ss;
ss << "exiftool.exe -datetimeoriginal -timezone images\\" << name_jpg << " >> temporal.txt";
error = system(ss.str().c_str());
if (error != 0){
    printf("The value returned was: %d.\n", error);
    ss.clear();
    exit(1);
}
ss.clear();
...
}

私の文法について申し訳ありませんが、私は英語のネイティブ スピーカーではありません。

4

2 に答える 2

1

この情報を変数で直接抽出する方法はありますか?

はい、可能です。

オプションは、EXIF 情報を読み取ることができるライブラリを見つけて使用するか、JPEG と EXIF 形式を読んで理解し、自分でファイルを読み取ることです。

簡単に検索すると、これらのことを行うライブラリがいくつか見つかります。また、少なくともいくつかのドキュメントが両方の標準で利用できるため、それほど難しくはないようです。

自分でファイルを読む場合、JPEG ファイル形式には、画像とそのメタデータの両方を含む複数のタグ付きセクションが含まれていることに注意してください。EXIF データが見つかるまでセクションをたどって、それを解析するだけです。

于 2016-02-08T12:53:05.620 に答える