2017-01-05 7 views
0

오리 엔테이션 속성이 2 개인 이미지가 있습니다. 이미지의 메타 데이터를 읽으려고 할 때 항상 두 번째 방향 속성의 값을 제공합니다.메타 데이터 추출기 카메라 특정 방향을 읽을 수 없습니다.

첫 번째 방향 값을 읽는 방법이 있습니까?

2 개의 파일을 첨부했습니다. 1은 이미지이고 2는 이미지의 메타 데이터이며 텍스트 파일 형식입니다.

  1. 이미지 enter image description here

  2. 메타 데이터 파일 enter image description here

아래 그림과 같이 내가 코드를 사용하고 있습니다 : 하나는 대한 때문에

public int getImage(String name,String outputFileName) throws ImageProcessingException, IOException { 

     Metadata metadata; 
     try { 
      File f = new File(name); 
      metadata = ImageMetadataReader.readMetadata(f); 

      for (Directory directory : metadata.getDirectories()) { 
       for (Tag tag : directory.getTags()) { 

        if(tag.getTagName().equals("Orientation")){ 
         final Integer index = directory.getInteger(274); 
         System.out.format("[%s] - %s = %s", 
           directory.getName(), tag.getTagName(),index); 
         BufferedImage image = getRotatedImage(f,index); 
         File img = new File(outputFileName+".png"); 
         ImageIO.write(image,"png",img); 
         //return 0; 

        } 
       } 
       if (directory.hasErrors()) { 
        for (String error : directory.getErrors()) { 
         System.err.format("ERROR: %s", error); 
        } 
       } 
      } 
     } catch (ImageProcessingException e) { 
      System.out.println("Image processing exception while rotating image"); 
      throw e; 
     } catch (IOException e) { 
      System.out.println("IO exception while rotating image"); 
      throw e; 
     } 
     return 0; 
    } 
+0

스택 오버플로가 JPEG의 메타 데이터를 제거했습니다 (또는 없었던 것 같습니다). –

+0

이미지에 메타 데이터가 있지만 스택 오버플로처럼 보이는 것이 BufferedImageReader를 사용하여 메타 데이터를 제거합니다. D –

답변

0

두 가지 방향이 있습니다 이미지, 다른 하나는 thu 용입니다. mbnail.

모든 디렉토리를 반복하지 말고 Metadata.getFirstDirectoryOfType 또는 Metadata.getDirectoriesOfType을 통해 원하는 디렉토리 만 가져옵니다. 그런 다음 해당 디렉토리에 태그 값을 직접 요청할 수 있습니다. 다시 말하지만 모든 태그를 반복 할 필요가 없습니다. 리소스 (CPU/메모리)를 낭비하는 것입니다.

+0

실제로 가져올 방법이 없습니다. 메타 데이터 추출기를 사용하는 이미지 방향 ... 나는 BufferredImageReader를 사용하여 이미지를 읽고 축소판 방향에 따라 변형을 적용하여이 문제를 해결할 수있었습니다. 문제가 정확히 무엇인지 설명하기는 어렵지만 어쨌든 도움을 주셔서 감사합니다 –

+0

오리엔테이션이 있으면 메타 데이터 추출기가이를 찾습니다. 라이브러리에 버그가 있다고 생각되면 문제를 열고 이미지를 첨부하십시오. https://github.com/drewnoakes/metadata-extractor/issues/new –