Tôi đang tìm kiếm trình chuyển đổi hình ảnh dòng lệnh nhanh nhất cho Linux, có thể đọc một hình ảnh JPEG, thu nhỏ nó xuống tối đa 1366x768 và viết một hình ảnh JPEG 50 chất lượng. Một cái gì đó như thế này, nhưng nhanh hơn nhiều so với ImageMagick:
$ convert -resize x768 -quality 50 foo42.jpg foo42.th.jpg
# takes 0m16.713s for my test image set
Tôi cũng đã thử điều này:
$ <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
Vì vậy, tôi muốn có một chương trình, tốt nhất là được viết bằng C, tích hợp djpeg, một phiên bản chất lượng cao hơn của pnmscale và cjpeg.
Tôi vừa tìm thấy swiggle (một chương trình C sử dụng libjpeg), tôi đã tắt một số chức năng mà tôi không cần trong mã nguồn và tôi đã có:
$ swiggle -f -H 768 .
# takes 0m11.378s for my test image set, yields high quality results
Bạn có đề nghị khác? Tôi đoán hầu hết các trình chuyển đổi hình ảnh sử dụng libjpeg, vì vậy sẽ khó có được kết quả nhanh hơn nhiều so với swiggle.