내 Linux 시스템(Debian)에서는 JPEG를 디코딩한 다음 TIFF로 다시 인코딩할 수 있습니다.사용:
% ffmpeg -i input.jpeg -pix_fmt rgba output.tiff
또는 libtiff-tools를 사용할 수도 있습니다.
% convert -size 256x256 -depth 8 xc:white white.ppm
% ppm2tiff white.ppm white.tiff
% tiffcp -c jpeg white.tiff white.jpg.tiff
tiffcp
JPEG 압축(손실이 있는 프로세스)은 작업 중에 내부적으로 수행됩니다.
하지만 난 하고 싶어무손실JPEG에서 TIFF 컨테이너/형식으로 혼합(또는 그 반대로: 입력 TIFF/JPEG 파일에서 JPEG 비트스트림 추출). ffmpeg나 다른 UNIX 명령줄 도구를 사용하여 이 작업을 수행할 수 있습니까? 예를 들어 JPEG를 M-JPEG로 혼합할 수 있습니다.무손실:
% ffmpeg -framerate 30 -i input%03d.jpg -codec copy output.mjpeg
참고로 다음은 일반적인 TIFF/JPEG입니다. 듀얼 스트림에서 원본 JPEG를 어떻게 추출합니까?
% tiffinfo white.jpg.tiff
TIFF Directory at offset 0x430 (1072)
Image Width: 256 Image Length: 256
Bits/Sample: 8
Compression Scheme: JPEG
Photometric Interpretation: YCbCr
Orientation: row 0 top, col 0 lhs
Samples/Pixel: 3
Rows/Strip: 256
Planar Configuration: single image plane
Reference Black/White:
0: 0 255
1: 128 255
2: 128 255
JPEG Tables: (574 bytes)
답변1
TIFF에서 JPEG를 추출하는 한 가지 가능한 방법은 다음과 같습니다.
$ tiff2pdf -o white.jpg.tiff.pdf white.jpg.tiff
$ pdfimages -all white.jpg.tiff.pdf root
$ file root-000.jpg
root-000.jpg: JPEG image data
tiff2pdf 매뉴얼 페이지에 다음과 같이 나와 있습니다.
입력 TIFF에 JPEG 또는 단일 Zip/Deflate 압축 정보가 포함되어 있고 해당 정보가 구성된 경우 압축 없음 및 통과 없음 옵션이 설정되지 않으면 PDF 파일은 트랜스코딩되지 않습니다.
Huffman 테이블이 이동되었기 때문에 TIFF는 JPEG 비트스트림의 "봉투"가 아니기 때문에 반대 작업은 처음에 생각했던 것보다 약간 더 복잡합니다.