2009-08-03 5 views
13

Canon/Nikon/다른 카메라는 센서의 원시 출력을 독점 형식 (.CR2, 무엇이든간에)으로 저장합니다. Java 라이브러리를 읽고이를 관리 가능한 BufferedImages로 변환하도록 설계 되었습니까?Java에서 RAW 이미지 읽기

저는 ufraw 나 imagemagick과 비슷한 완벽하게 사용자 정의 가능한 변환을 사용하지 않고 단순한 미리보기를 렌더링하기 위해 "단지 작동합니다"라고 reqlly하지 않습니다.

답변

7

나는 당신이있는 곳이었으며, 나는 당신을 생각합니다. 가장 좋은 방법은 Adobe 또는 dcraw 기반 프로그램을 사용하여 축소판을 자동으로 생성하는 것입니다. Adobe의 변환기를 사용하는 임시 DNG 파일은 사용하기가 더 쉽습니다.

자바로하고 싶다면 고통의 산에 빠지게됩니다. RAW 형식은 자주 변경되며 모든 종류의 미묘한 차이가 있으며 의도적으로 작업하기가 어렵습니다. 카메라 제작자는 카메라 변환 능력을 최대한 발휘하고 Adobe를 조준하기 위해 RAW 변환 소프트웨어를 사용하기를 원합니다. dcraw 뒤에있는 사람은 카메라 제조업체가 암호화를 사용하고있는 것으로 나타났습니다!

기존 Java 라이브러리가 좋지 않습니다. JRawIO는 마지막으로 살펴본 이후로 향상되었지만 dcraw에서 수행하는 일부 포맷 만 지원합니다. 나열된 라이브러리 외에도 imagero 라이브러리 은 이미지의 축소판을 표시하는 기능을 제공합니다.

개인적인 경험을 통해 자신의 RAW 파일 판독기를 작성하지 마십시오. 아주 간단한 RAW 형식으로 한 번 시도했습니다 (센서 데이터의 단색 배열, 픽셀 당 12 비트). dcraw 소스는 Java로 잘못 번역됩니다. 당신은 그런 비트 악취를 결코 보지 못했습니다. 바이트 정렬과 엔디안 문제로 디버깅하는 데는 시간이 걸렸습니다.

+0

슬프게도, 당신 말이 맞습니다. 나는 내가 필요로하는 것에 가장 근접한 jmagick을 시도했지만 여전히 사용하기에는 고통 스럽다. Jrawio는 Canon 5dMkII 사진으로 만들지 않았습니다. – Marcin

+0

javio와 다른 프로그램이 더 많이 지원하지 않으므로 가능한 한 DNG로 변환하려고합니다. Adobe Lightroom에는 Mac OS 및 여러 프로그램과 마찬가지로 DNG 형식의 빌드 뷰어 (엄지 손가락)가 있습니다. 5DMkII를 가지고 있다면 내 무한한 선망을받을 수 있습니다. 자바로 RAW 파일을 관리하고 싶다고 비난 할 수는 없습니다. 멋진 카메라입니다. 워크 플로우를 관리하기 위해 Lightroom을 실제로 봐야합니다. 나는 그걸로 행복해질 수 없었다. – BobMcGee

+0

..."의도적으로"... 세상에 문제가되는 기술과 관련하여 돈으로 일하기가 어렵습니다. – Brain

1

file parser/loader (sounds fun imho;))을 쓰고 싶지 않다면, 아마도 JMagick이 도움이 될 것입니다. JMagick이 JNI를 사용하기 때문에 나는 그것을 시도하지 않았고 타겟 플랫폼에서 작동하지 않을 수도 있습니다.

UPDATE : dcraw 자바 이미지 I/O를위한 플러그인입니다 좋은 자원/참조

+0

감사를 상쇄 오른쪽을 추출 할 수있는 권리 길이 ... 로랑 Clevy @를 찾을 수 있습니다. 나는 JNI를 싫어하지만이 답변을 upvote 해 주어서 기쁩니다. – Marcin

3

jrawio 것 같습니다. 이를 사용하여 원본 이미지 파일에서 래스터 데이터, 축소판 및 메타 데이터를 읽을 수 있습니다.

+0

jrawio는 멋지다. 비록 내 경우에는 (캐논 5dmkii 이미지에 문제가있다.) 다른 사람에게도 도움이 될 것이다. – Marcin

2

nef 및 cr2에는 이미 jpeg의 미리보기 이미지가 포함되어 있습니다. 단지

로랑 lclevy.free.fr/raw 소프트웨어의 멋진 조각 JMagick, 참조에 대한