2012-07-03 2 views
3

설명과 "키워드"가 포함 된 TIFF 파일이 여러 개 있습니다 (OS X이 파일 관리자에서 사용하는 것처럼). 그러나 이미지에서이 메타 데이터를 수집하는 데 어려움이 있습니다.Tiff 이미지에서 설명/키워드를 가져올 수 있습니까?

내가 tifffile.py, PIL의 EXIF ​​명령과 IPTCInfo를 사용하여 시도했습니다, 그리고 tifffile.py 설명을 얻을 것이다 동안 나는 아직도이 라이브러리 중 하나를 사용하여 파일에서 "키워드"를 구문 분석 할 수없는 것 .

키워드가 TIFF에 대해 JPEG과 다른 "사양"을 사용하여 저장되어 있습니까? 이러한 키워드를 구문 분석하는 최선의 방법은 무엇입니까?

편집

또한 abarnert에서 주석으로, 나는 텍스트 편집기에서 TIFF 파일 중 하나를 열어 는 "키워드"가 포함 XML 데이터가 있음을 발견했다. 아래의 스 니펫 :

... 
<rdf:Description rdf:about="" 
xmlns:dc="http://purl.org/dc/elements/1.1/"> 
<dc:description> 
<rdf:Alt> 
<rdf:li xml:lang="x-default">OLYMPUS DIGITAL CAMERA</rdf:li> 
</rdf:Alt> 
</dc:description> 
<dc:format>image/tiff</dc:format> 
<dc:subject> 
<rdf:Bag> 
<rdf:li>Foo</rdf:li> 
<rdf:li>Bar</rdf:li> 
<rdf:li>A long keyword</rdf:li> 
</rdf:Bag> 
</dc:subject> 
</rdf:Description> 
... 

마치 이진 표현으로 저장 될 수 있습니다. tifffile.py는 기본적으로 정수의 튜플 인 많은 태그를 나열합니다. 나는 이것을 어떻게 변환할지 모르겠다. 제안?

+0

@cgohlke OS X에서 가능하지 않은지 확실하지 않습니다. PyPI에는 패키지가 없으므로 빌드 프로세스가 마치 샌드 박스 화되지 않는 것처럼 보입니다 (나를위한 요구 사항). –

답변

0

감사합니다 abarnert에서 도움을 얻었습니다. here 해결책을 찾았습니다. 그것이 약간의 kludgy를 느끼는 동안 그것은 일하고있다. 그래서 나는 불평 할 수 없다!

2

TIFF에 대해 JPEG과 다른 "사양"을 사용하여 키워드를 저장합니까?

글쎄요.

TIFF 컨테이너에는 매우 제한된 메타 데이터 태그 집합 만 있으며 임의의 키워드를 지정할 수있는 방법이 없습니다.

JPEG는 컨테이너 유형이 아닙니다. TIFF를 비롯한 다양한 컨테이너에서 사용할 수있는 이미지 압축 코덱입니다. 그러나 일반적으로 "JPEG 파일"이라고 말하면 JPEG 그룹에서 지정한 컨테이너 형식 중 하나 인 JFIF를 의미하며 TIFF와 마찬가지로 JFIF는 매우 제한된 메타 데이터 태그 집합을 가지고 있습니다.

Exif는 TIFF와 구조가 동일하지만 메타 데이터 용으로 명시 적으로 새 태그를 정의합니다. 즉, TIFF를 Exif 형식으로 쉽게 래핑 할 수 있으며 여전히 합법적 인 TIFF이며 약간의 또한 비공식적 인 방법으로 JFIF를 Exif로 랩핑 할 수 있습니다. 이는 합법적 인 JFIF는 아니지만 거의 모든 소프트웨어가이를 수용합니다.

Exif는 기본적으로 Exif와 기본적으로 동일한 DCF를 제외하고 JFIF에 메타 데이터를 추가하는 일반적인 방법이지만 TIFF에 메타 데이터를 추가하는 여러 가지 방법 중 하나입니다. IPTC는 XMP, OME 및 다른 여러 제품과 마찬가지로 또 하나입니다.

그래서 일부 TIFF 파일은 Exif로 둘러싸인 JFIF-wrapped-in과 같은 사양을 사용하여 "키워드"를 저장하지만 일부는 그렇지 않습니다.

이러한 키워드를 구문 분석하는 가장 좋은 방법은 무엇입니까?

글쎄, 당신은 그들이에 저장하고 어떤 형식 알 필요가있다.

만 EXIF를 지원하는 명령 PIL의 EXIF는 IPTCInfo는 IPTC 지원하며, 대부분 잘 ... 다양한 지원 tifffile 말할 필요도없이 다른 것들.

tifffile.py가 알 수없는 태그 유형을 저장할 수 있다고 믿는 원시 이진 데이터는 반복하고 누락 된 부분을 볼 수 있습니다. 적어도 TIFF 컨테이너 구조를 사용하는 모든 확장을 포함합니다. 키워드를 찾지 못한다면 적어도 공통된 형식을 배제 할 수 있습니다.

어쨌든 원하는 형식을 알게되면이를 처리 할 수있는 라이브러리를 찾을 수 있습니다. (또는 XML 기반 라이브러리 중 하나 인 경우 tifffile을 사용하여 이진 데이터로 태그를 읽은 다음 UTF-8 XML로 구문 분석하면 다른 라이브러리를 찾는 것보다 쉬울 것입니다.)

+0

tifffile (정수를 포함하는 긴 튜플)에 의해 파싱 된 태그에서 바이너리 데이터가 될 수있는 것을 볼 수 있습니다. 이것을 'lxml'에 전달할 수있는 것으로 해석하는 방법은 무엇입니까? –

+1

물론 DCMI 나 DCMI + OMF입니까? 언급하지 않은 형식 중 하나 여야합니다. 어느 쪽이든, 이것은 XMP와는 다르지만 XMP와 마찬가지로 XML 문서 유형입니다. 일반적으로 태그 값으로 UTF-8 문자열을 저장하여 단일 태그로 TIFF에 내장됩니다. tifffile이 이것을 처리하는 방법을 모르는 것처럼 보이므로 확장해야합니다. XML을 디코딩하기 전에 바이너리 데이터로 처리 한 다음 UTF-8을 디코딩하거나 read_utf8 함수를 추가하고 CUSTOM_TAGS에서이를 참조 할 수 있습니다. 이 시점에서 저자와 이야기하는 것이 더 나을 것입니까? – abarnert

+1

추 신 : 모르겠지만 DCMI 데이터를 표현할 수있는 다양한 방법에 대한 자세한 내용은 http://dublincore.org/ 및 http://en.wikipedia.org/wiki/Dublin_Core를 참조하십시오. DCMI-RDF 또는 DCMI-OMF 또는 TIFF에 임베드 된 모든 것을 문서화 할 곳. – abarnert

관련 문제