2012-05-10 4 views
3

압축 된 형식의 모든 픽셀을 인코딩하는 데 사용되는 총 비트 수를 지정할 수 있도록 JPEG 이미지 저장에 관심이 있습니다. 예를 들어 크기가 1024 x 1024 인 4 채널 이미지가있는 경우 압축하지 않고 비트 인코딩은 4 * 8 * 1024 * 1024 비트를 사용합니다. 압축을 사용하면 훨씬 적은 수의 비트가 사용될 수 있습니다. 압축 된 형식의 비트 수를 지정하고 싶습니다.압축 : Java/Scala에서 지정된 비트 전송률로 JPEG 이미지 저장

반복 솔루션은 JPEG 압축 품질 매개 변수에 대한 2 진 검색입니다. Java 또는 Scala의 직접 솔루션을 기대합니다.

+6

전체 압축이 실제로 시도 될 때까지 결과가 어떻게 될지 알 수 없기 때문에 (손실 압축의 특성) 그러한 일이 발생하지 않을 것입니다. 대략적으로 추정 할 수는 있지만 "x 바이트를 크게 만듭니다"라는 호출은 없습니다. 이진 검색은 당신이하려고하는 것만큼이나 좋습니다. –

+0

@Chris 저의 의견입니다. 나는 당신이 대답으로 당신의 코멘트를 변형해야한다고 생각합니다. – paradigmatic

+0

@paradigmatic 내 규칙으로, 나는 실제로 질문에 대답하지 않는 한 대답으로 무언가를 게시하지 않습니다. 이 경우 OP는 바이너리 검색보다 나은 것이 바람직하다는 것을 명시 적으로 언급 했으므로 아무 것도 대답하지 않는다고 생각합니다. –

답변

0

@Chris가 말했듯이 JPEG에는 바로 가기가 없습니다. 그러나 JPEG2000 대신 JPEG2000을 사용하려는 경우 직접 압축률을 지정할 수 있습니다. 이 JJ2000 library에서 Encoder 클래스를 보면 인코딩 된 이미지의 비트 전송률을 수정하는 방법을 알 수 있습니다.

불행히도 JPEG2000 지원이 JPEG만큼 널리 퍼지지는 않았으므로이 기능은별로 유용하지 않을 수 있습니다.

관련 문제