tif 이미지를 일괄 처리합니까? .tif를 .jpeg로 변환


41

소수의 .tif파일 을 대량 변환하려고 합니다. 필치는 좋은 후보처럼 보일 수 있지만 우분투 11.04를 실행하고 있습니다. 그들이 .deb내 버전을 가지고 있지 않은 것 같습니다 .

누구든지 파일 로 신속하게 일괄 변환 tif할 수있는 대안 또는 다른 권장 사항 이 jpeg있습니다.

Photoshop (ala Wine) 이외의 솔루션을 찾고 있습니다.

답변:


75

쉬운. imagemagick 설치 :

sudo apt-get install imagemagick

가장 간단한 사용법은 다음과 같습니다.

convert File.tif File.jpg

그것은 똑똑하고 파일 확장자에 달려 있습니다.

이제 일괄 변환을 수행하려면 루프를 사용해야합니다.

tif 파일이있는 디렉토리로 cd하십시오.

그때:

for f in *.tif; do  echo "Converting $f"; convert "$f"  "$(basename "$f" .tif).jpg"; done

다음과 같이 읽습니다.

for f in *.tif
do  
    echo "Converting $f" 
    convert "$f"  "$(basename "$f" .tif).jpg" 
done

그렇게해야합니다!

또한 모든 파일을 변환하고 새 jpg의 무결성을 확인한 후에 rm *.tif는 해당 디렉토리에서 실행 하여 모든 기존 .tif 파일을 삭제하십시오. 별표로주의하십시오 *. 또는 뒤에 공백을 추가하지 마십시오. 그렇지 않으면 디렉토리의 모든 파일이 삭제됩니다.

팁 :이 이미지를 보유한 하위 폴더가있는 폴더가있는 경우. 이 for 루프를 사용하여 해당 폴더 내의 모든 .TIF 파일을 찾을 수 있습니다.

for f in $(find -name *.tif); do ...; done

이 인쇄 건가요 Converting filename.tifConverting filename?
질산 나트륨

1
@sodiumnitrate는 "Converting filename.tif"라고 표시됩니다. 이 basename명령은 2 개의 인수를받습니다. 예를 들어 basename file.tif .tif.tif 확장자를 제거하는 "file"을 반환합니다. 원하는 경우 동일한 basename 명령으로 "filename.tif를 filename.jpg로 변환"하도록 루프를 수정할 수 있습니다.
Matt

find의 첫 번째 인수는 경로가되어야하므로 마지막 행은 for f in $(find . -name *.tif); do ...; done( cd이전에 디렉토리에 있었기 때문에) 있어야합니다 . @Matt의 답변을 편집하려고했지만 어떤 이유로 든 편집은 6 자 이상이어야합니다.
mrtnmgs

감사합니다 .............................................. 작업 중
balaji

22

나는 스스로 그것을 시도하는 동안이 질문을 찾았습니다. 나중에 참조 할 수 있도록 다음과 같이 할 수도 있습니다

convert *.tiff -set filename: "%t" %[filename:].jpg

또는 하위 디렉토리에 넣습니다

mkdir jpg
convert *.tiff -set filename: "%t" jpg/%[filename:].jpg

1
내장 파일 이름 처리를위한 예.
beerbajay

이것은 png 파일에서도 효과적이었습니다. 그러나 pdf의 동작은 달랐습니다.
wdkrnls

그러나이 작업을보고 싶지만 Ubuntu 64의 ImageMagick 6.6.9-7 2014-03-06 Q16 (OpenMP)에서 버스 오류 가보고되었습니다. 허용 된 답변은 정상적으로 작동합니다.
TFuto

경고의 한마디 : 이것은 전체 시스템 (그놈 3)을
얼게

2

Imagemagick 은 그것들을 변환 할 수 있어야합니다. 괜찮다면 명령 행 프로그램 패키지입니다.

그 중 일부는 변환입니다 -

남자 변환 :

변환-이미지 형식 간 변환은 물론 이미지 크기 조정, 흐림, 자르기, 얼룩 제거, 디더링, 그리기, 뒤집기, 결합, 다시 샘플링 등을 수행 할 수 있습니다.


1
Matt의 답변은 실제로 더 유용합니다
marto

1
예. 당신은 바로 거기에 있습니다.
chrisjlee

1

GUI 응용 프로그램을 선호하는 경우 일반 리포지토리를 통해 Phatch를 설치할 수 있습니다. Ubuntu Software Center를 열고 검색하십시오. 나는 더 이상 11.04에 없지만 당시에 설치했습니다.


1

위의 답변 *.tif은 tif 선택에 사용되지만 현재 작업 디렉토리에 파일이 너무 많으면 오류가 반환됩니다. 간단한 해결 방법은 파이썬 스크립트를 사용하여 cwd의 각 파일을 변환하는 것입니다.

import glob, os

for c, i in enumerate(glob.glob('ecco_images/*')):
  print(' * converting', i)
  os.system('convert ' + i + ' ' + i.replace('.TIF','.jpg'))

for f in *.tif오류가 발생하지는 않습니다 convert *.tif.
muru

아, 감사합니다 @muru! 나는 OS 수준에서 * 확장이 동일하다고 생각했지만 정정되어 기쁘다.
duhaime

0

@Matt의 대답에 파일을 하위 폴더에 저장하려면 다음을 수행 할 수 있다는 답변을 추가하고 싶습니다.

find -name *.tif | while read f; do echo "Converting $f"; convert "$f"  "${f%.*}".jpg; done

파일 경로 / 이름에 공백이 있으면 문제를 처리합니다.


0

배치 프로세스 플러그인을 사용한 김프 GUI 솔루션

김프 2.8을 사용하여 우분투 18.04에서 작동


배치 프로세서 입력 대화 상자 창

배치 프로세스 입력 대화창


배치 프로세서 출력 대화 상자 창

배치 프로세서 출력 대화 상자 창


설치 방법

1- DBP-David의 Batch Processor 홈페이지 에서 현재 플러그인 파일을 데스크탑으로 다운로드하십시오. Ubuntu 18.04 ruinning Gimp 2.8의 경우 나를 위해 일한 파일은 dbpSrc-1-1-9.tgz 입니다.

2-김프 개발 파일을 가져옵니다.

sudo apt-get install libgimp2.0-dev gcc cpp g++

3-시스템 소스 코드 디렉토리로 전환하십시오.

cd /usr/src/

4-데스크탑에서 자체 소스 코드 디렉토리로 플러그인을 추출하십시오. [username]을 현재 사용자 이름으로 바꾸고 1 단계에서 위에서 다운로드 한 파일 이름을 사용하십시오.

sudo tar -xvzf /home/[username]/Desktop/dbpSrc-1-1-9.tgz

5-플러그인 소스 코드 디렉토리로 변경하십시오.

cd dbp-1.1.9

6-플러그인을 컴파일하십시오.

sudo make

7-플러그인 설치

sudo make install

8-김프를 시작하면 메뉴-> 필터-> 배치 프로세스에서 플러그인을 찾을 수 있습니다.

김프 배치 프로세스 .. 메뉴 경로

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.