2012-05-08 2 views
4

수천 개의 jpeg 파일을 분석해야합니다 (EXIF 데이터를 검색하여). 그것은 50GB 이상의 데이터입니다. 너무 많은 시간이 걸리기 때문에 전체 파일을 읽을 수 없습니다.JPG에서 EXIF ​​데이터 읽기

C#에서 전체 jpeg 파일을로드 및 압축 해제 할 필요없이 해당 파일의 EXIF ​​데이터 만 읽을 수있는 방법이 있습니까?

편집 : 빠른 방법이 필요한 이유는 무엇입니까?
나는이 질문에서 해결책을 찾으려고 노력했다 : How to get the EXIF data from a file using C#
총 크기가 ~ 1GB 인 1000 개의 이미지는 분석하는데 3 분이 걸렸다. 따라서 더 큰 (50G) 사진 라이브러리의 경우 2 시간이 걸릴 수 있습니다. 거의 즉시 정보가 필요할 때 : "고객이 사용하는 미리 설정된 확대/축소는 무엇입니까?"너무 느립니다.

답변

8

일부 코드 샘플은 ExifLib - A Fast Exif Data Extractor for .NET 2.0+ (및 전체 프로젝트도 있음)에 나와 있으며 EXIF ​​정보 만 얻는 데 필요한 최소 데이터를 읽는 방법을 보여줍니다.

+0

감사합니다.이 라이브러리는 매우 빠르고 빠릅니다. –

0

아무 것도 압축 할 필요가 없습니다. Exif 정보는 이미지보다 먼저 헤더에 저장되므로 파일을 열고 exif 헤더를 읽고 필요한 부분을 디코딩하면됩니다. exif 데이터를 수동으로 읽는 경우 (어렵지 않음)입니다.

당신이 필요로하는 모든이 크기 인 경우, 즉 전면

편집에 적합한 : actualy 전면에있을 필요가 없습니다 EXIF ​​데이터를 참고하지만,에 안전 그것은 거의 항상이기 때문에, 일반적으로 그렇지 않은 경우보다 훨씬 빠를 것이라고 가정합니다.

또한 표준 API를 사용하는 것이 '너무 느림'인지 확인 했습니까? 나는 그것이 50G에 오래 걸릴 것이라고 생각하지 않았을 것이다 (또는 다른 방식을 취하는 것이 필연적으로 빠를 것이다).

1

GdPicture.NET Imaging SDK 시작 버전 10은 픽셀을 디코딩하지 않고 이미지 메타 데이터 (EXIF, GPS, XMP, IPTC ...)에 직접 액세스 할 수있는 새로운 이미지 구문 분석 메커니즘을 제공합니다. JPEG, TIFF, RAW 및 WebP를 포함한 90 개 이상의 이미지 형식을 지원합니다. 여기

링크를 C# 및 VB.NET을 사용하여 메타 데이터를 추출하는 방법을 보여하여 GdPicture.NET 지식 기반 (다른 언어도 지원)의 경우 사람에 tutorial

내가 기쁠 것이다 추가 정보가 필요합니다 돕기.

면책 조항 : 저는 GdPicture.NET의 제품 아키텍트입니다.

2

나는 최근에 나의 Java 메타 데이터 추출기 라이브러리를 .NET으로 포팅했다. 2002 년부터 활동 해 왔으며 광범위하게 사용되어 무거운 테스트를 거쳤습니다. 테스트에서 2GB의 이미지를 뒤집어 내 컴퓨터에서 약 4 초 내에 모든 메타 데이터를 추출합니다. Exif와 같은 특정 유형의 메타 데이터 만 읽도록 지정하여 추가로 최적화 할 수 있습니다. 그것은 많은 이미지/비디오 형식과 많은 메타 데이터 유형을 지원합니다.

GitHubNuGet에서 사용 가능합니다.

관련 문제