오리 엔테이션 속성이 2 개인 이미지가 있습니다. 이미지의 메타 데이터를 읽으려고 할 때 항상 두 번째 방향 속성의 값을 제공합니다.메타 데이터 추출기 카메라 특정 방향을 읽을 수 없습니다.
첫 번째 방향 값을 읽는 방법이 있습니까?
2 개의 파일을 첨부했습니다. 1은 이미지이고 2는 이미지의 메타 데이터이며 텍스트 파일 형식입니다.
아래 그림과 같이 내가 코드를 사용하고 있습니다 : 하나는 대한 때문에
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;
}
스택 오버플로가 JPEG의 메타 데이터를 제거했습니다 (또는 없었던 것 같습니다). –
이미지에 메타 데이터가 있지만 스택 오버플로처럼 보이는 것이 BufferedImageReader를 사용하여 메타 데이터를 제거합니다. D –