0

명령 줄 이미지 변환기/resizer를 찾고 있습니다.명령 줄 이미지 변환기 resizer

내가 썸네일을 만들뿐만 아니라 비트 맵과 tiff 파일을 png 파일로 변환해야합니다. 이미지는 비교적 큽니다. 최대 크기는 약 13,000 x 10,000 픽셀이며 약 200MB입니다.

ImageMagick을 사용해 보았습니다. 너무 많은 메모리를 사용하고 너무 느리며 디스크 캐시를 사용하지 않으면 서 가장 큰 파일을 처리 할 수 ​​없어 참을 수 없을 정도로 느려집니다.

현재 저는 적은 메모리를 사용하고 큰 파일을 처리 할 수있는 GraphicsMagick을 사용하고 있습니다. 그러나 여전히 약간 느립니다. 이미지 당 약 15 초.

조금 더 나은 성능을 제공 할 수있는 다른 프로그램이 있습니까?

+0

. 당신은 Imagemagick의 8 비트 버전을 설치하여 더 많은 옵션을 시도 할 수 있습니까? – Bonzo

+0

@Bonzo GraphicsMagick도 일반적으로 16 비트이지만 ImageMagick과 마찬가지로 Q8, Q16 및 다른 버전에서도 사용할 수 있습니다. –

+0

@ user894763 님의 탁월한 답변이 문제를 해결 했습니까? 그렇다면 투표 수 옆에있는 빈 녹색 체크/체크 표시를 클릭하여 답변으로 수락하십시오. 감사. http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

답변

1

libvips을 시도해 볼 수 있습니다. 스트리밍 이미지 처리 라이브러리이므로 별도의로드 단계가없고 임시 파일이 없어도 입력을 읽고 처리하고 단일 파이프 라인으로 출력을 쓸 수 있습니다. 그것은 또한 멋진 스레드 IO 시스템을 가지고 있으므로 performance is good and memory use is low입니다.

$ vips black test.tif 13000 10000 --bands 3 
$ ls -l test.tif 
-rw-r--r-- 1 john staff 390000854 22 Nov 09:43 test.tif 

는 그래서는 13000 X 10000 3 밴드, 팔의 :

나는 (ImageMagick를 6.9.6-3 Q16, GM 1.3.25, VIP를 8.4.2로 아이맥)이 컴퓨터에 그것을 초과 bit 비 압축 TIFF. vipsthumbnail으로, VIP를 함께 제공되는 이미지 쉬 링커, 나는 참조 : 그 그냥 vipsthumbnail의 테스트 및 나의 디스크 시스템해야하므로

$ /usr/bin/time -l vipsthumbnail test.tif -s 128x128 -o small.png 
    0.54 real   0.42 user   0.11 sys 
77635584 maximum resident set size 

나는 세 번을 실행하고 가장 빠른 들었다. 그것은 0.54 초 실시간, 77MB의 피크 메모리입니다. convert

나는 참조 :

$ /usr/bin/time -l convert test.tif -resize 128x128 small.png 
    4.87 real   4.28 user   0.55 sys 
1432182784 maximum resident set size 

다시 말하지만, 가장 빠른 3 실점, 4.87s 실시간, 1.4GB 메모리. GraphicsMagick이 조금 더 빠르다 보니 :

$ /usr/bin/time -l gm convert test.tif -resize 128x128 small.png 
    3.95 real   3.41 user   0.51 sys 
1264369664 maximum resident set size 

실제 3.95s 진짜, 1.2gb 피크 메모리.

따라서이 테스트에서 libvips는 7 배 빨라지고 graphicsmagick보다 15 배 적은 메모리를 사용합니다.

libvips는 대부분의 리눅스의 표준 부분이며, homebrew 및 macports에 있으며, vips 웹 사이트에는 64 비트 Windows 바이너리가 있습니다.

+0

좋은 답변 - OP가 동의하기를 바랍니다. Btw, 당신은'/ usr/bin/time -l convert ... '를 사용하여 최고 거주자 세트를 측정 할 수 있습니다. –

+0

답장을 보내 주셔서 감사합니다. libvips를 사용해 보았지만, 대략 동일한 메모리 사용량으로 GraphicsMagic보다 약 5 배 더 오래 걸렸습니다. – Fuji

+0

그건 아주 이상합니다. @markSetchell이 ​​제안한대로 gm 타이밍과'time -l'을 사용하여 내 대답을 업데이트했습니다 (감사합니다! 나는 macOs가 그렇게 할 수 있음을 항상 잊는다). vips는 GM보다 7 배 빠르며이 컴퓨터에서 15 배 적은 메모리가 필요합니다. 어떤 플랫폼을 사용하고 있습니까, 어떻게 테스트 했습니까, 어떤 명령을 실행 했습니까, 어떤 이미지를 사용 했습니까? – user894763

0

너무 많은 이미지 처리 단지

  • 모든 (비디오, 이미지, 오디오)를 처리 할 수있는이 아름다운 소프트웨어를 다운로드하여 밖으로 원하는 넣어 형식으로 선택하여 모든 변환 할 수있는 소프트웨어 및
  • 있습니다
  • 그래픽 인터페이스가 제공하는 모든 명령을 쓸 필요가 없으며
  • 거의 또는 그 이하의 메모리로 실행됩니다.
  • 원하는 크기만큼 이미지를 변환하고 다른 일을하는 동안 진행 상황을 따라갈 수 있습니다.

체크 ImageMagick이 나 GraphicsMagick 중 하나와 소프트웨어 http://www.pcfreetime.com/

0

의 공식 링크는 낮은 "- 품질"을 사용하는 대신 기본 품질 == (75)에 동의하여 PNG 인코딩 속도를 높일 수 있습니다. 이것은 속도를 위해 압축 성능 (파일 크기)을 교환합니다. 라인 아트는 -quality 40, 사진은 -quality 41입니다. 다음은 JPEG에 대한 몇 가지 결과의 libpng-1.2.54로 만든 ImageMagick를-7.0.3-8를 사용하여, 내 카메라에서이다 : 나는 단지 8 비트와 같이 그래픽 마술 (magick) 빨리 이해 것과

glenn.rp> time magick D*88.JPG d88-q75.png 
real 0m13.494s user 0m11.252s sys 0m2.060s 
glenn.rp> time magick -quality 41 D*88.JPG d88-q41.png 
real 0m7.377s user 0m4.728s sys 0m1.908s 
glenn.rp> time magick -quality 40 D*88.JPG d88-q40.png 
real 0m3.842s user 0m3.200s sys 0m0.584s 
glenn.rp> ls -lt d88* 
-rw-rw-r-- 1 glennrp glennrp 24352041 Nov 29 15:45 d88-q40.png 
-rw-rw-r-- 1 glennrp glennrp 17072518 Nov 29 15:45 d88-q41.png 
-rw-rw-r-- 1 glennrp glennrp 15788794 Nov 29 15:44 d88-q75.png