2013-02-21 4 views
3

JPEG 파일 쓰기와 관련하여 질문이 있습니다. PNG 파일 example.png이 있다고 가정하고 정보 손실없이 JPEG로 파일 형식을 변경하려고합니다.무손실 JPEG 파일 쓰기

  • 용액 1 : 이제 당분간, I는 두 가지 해결책이 MATLAB

    으로

    I가 = imread ('example.png')로 변환 서식 파일을 수행하는 단계;

    imwrite (I, 'example.jpg', 'Mode', 'lossless');

    II = imread ('example.jpg');

    differ = I-II;

    맥스 (다를 (:))

    무손실 JPEG 파일을 생산할 수있는이 방법. 그러나이 솔루션의 문제점은 DPI 해상도와 같은 원본 이미지의 일부 정보가 손실 될 수 있다는 것입니다. 또한, 생성 된 출력 이미지 인 은 IrfanView 및 Windows 페인트와 같이 널리 사용되는 이미지 뷰어에서 볼 수 없습니다.

  • 해결 방법 2 : IrfanView 소프트웨어를 사용하십시오. IrfanView 프로그램의 "다른 이름으로 저장"기능을 사용하여 파일 형식을 매우 쉽게 변경할 수 있습니다. 그러나 JPEG 파일을 저장할 때 '최고 품질 100'옵션을 설정했지만 출력 이미지도 일부 정보 손실을 표시합니다. 이 두 이미지의 차이는 모든 픽셀에서 0이 아닙니다.

나는이 문제를 해결하기 위해 무엇을해야하는지 궁금합니다. 어떤 아이디어라도 감사 할 것입니다.

+0

문제를 해결하는 것은 매우 쉽습니다. PNG 이미지를 유지하십시오. – mmgp

+0

Jpeg2000은 무손실 JPEG 파일 형식이지만 불행히도 거의 모든 소프트웨어가 jpeg2000을 지원하지 않습니다. .png 및 .gif는 무손실 파일을위한 최상의 선택입니다. –

+0

첫 번째 가정은 변경해야합니다. "일반"JPEG 이미지는 손실 압축 형식을 사용합니다. @ mmgp에 따르면 PNG를 사용하는 것이 좋습니다. 당신이 더 나은 압축 비율을 찾고 있다면, 당신은 무손실의 아이디어를 포기할 필요가있을 것입니다. – BitBank

답변

1

이 문제에는 해결책이 없습니다 (아직 2018 년 현재).

대부분의 이미지 뷰어에서 JPEG 파일을 사용할 수있게하려면 손실 압축 사용을 피할 수 없습니다.

일반적으로 지원되는 JPEG 버전은 DCT 압축을 기반으로합니다. 이는 정의에 따라 정밀도 손실을 초래하는 변환 및 반올림을 수행합니다.

무손실 JPEG 압축 방법 인 JPEG-LS는 거의 지원되지 않습니다.

무손실 원본의 재구성을 위해 손실 이미지 + 레이어의 조합 인 JPEG-XT 확장자도 있습니다. JPEG 이미지 뷰어에서는 정상적으로 작동하지 않지만 더 새롭고 아직 구현되지 않았는지 모르겠습니다.

정말로 무손실이 필요한 경우 PNG를 사용하십시오. JPEG를 사용하면 얻을 수있는 최상의 품질은 100 %가 아닌 100 %의 RGB 색 공간에서 손실이 거의없는 JPEG입니다.

관련 문제