JPEG 이미지를 읽고, 최대 1366x768로 축소하고, 고품질 50 JPEG 이미지를 작성할 수있는 Linux 용 가장 빠른 명령 줄 이미지 변환기를 찾고 있습니다. 이와 같은 것이지만 ImageMagick보다 훨씬 빠릅니다.
$ convert -resize x768 -quality 50 foo42.jpg foo42.th.jpg
# takes 0m16.713s for my test image set
나는 또한 이것을 시도했다 :
$ <foo42.jpg djpeg | pnmscale -xysize 1366 768 | cjpeg -quality 50 >foo42.th.jpg
# takes 0m12.007s for my test image set, and has lower visual quality than ImageMagick
그래서 저는 pnmscale의 고품질 버전 인 djpeg와 cjpeg를 통합하는 C로 작성된 프로그램을 갖고 싶습니다.
방금 swiggle (libjpeg를 사용하는 C 프로그램)을 찾았 으며 소스 코드에 필요하지 않은 기능 중 일부를 비활성화했습니다.
$ swiggle -f -H 768 .
# takes 0m11.378s for my test image set, yields high quality results
다른 제안이 있습니까? 대부분의 이미지 변환기는 libjpeg를 사용한다고 생각하므로 swiggle보다 훨씬 빠른 결과를 얻는 것이 어려울 것입니다.
1
NVDA 또는 AMD 기반 GPU의 성능을 사용하는 CUDA 또는 OpenCL을 사용하는 것이 가장 빠를 것 같습니다. OpenCV는 이제 CUDA를 부분적으로 사용한다고 생각합니다. c를 사용하면 편리 할 수 있습니다.
—
Matt H
매트에 동의합니다. 그것들이 거대한 이미지라면 (그리고 12 초가 걸리면 작지 않다고 생각합니다) CUDA / OpenCL이 그 일을 할 것입니다. 또는 더 나은 PC를 얻으십시오.
—
Apache
이미지가 너무 크지 않습니다 (4000x3000이 최대). 수십 개의 이미지로 구성된 이미지 세트의 경우 변환에 12 초가 걸립니다.
—
pts