libvips - 메모리를 적게쓰면서 매우 빠른 이미지프로세싱 라이브러리
(github.com)- 300개 이상의 이미지처리 함수
- C,루비,파이썬,PHP,C#,Go,Lua 언어 바인딩
- CLI와 노드,RoR용 라이브러리들도 있음.
대부분의 경우 ImageMagic/OpenCV/등의 라이브러리 보다 훨씬 빠르고 메모리 사용량이 작음
- 벤치마크 : https://github.com/libvips/libvips/wiki/Speed-and-memory-use
왜 libvips 가 빠른가 : https://github.com/libvips/libvips/wiki/Why-is-libvips-quick
- 전체 이미지를 메모리에서 처리하지 않고, 요청에 따라 스트림 방식으로 이미지의 일부만 메모리에서 처리.
- 빠른 오퍼레이션들을 사용하도록 개발
- 이미지 IO 를 쓰레딩으로 처리
- 병렬처리 가능
- 타일 처리 방식(분할되어 오버랩 되지 않게함)이 아닌 리젼처리 방식(오버랩이 가능)
- lock 을 거의 사용하지 않음.
- 8비트에서 128비트까지의 10가지 픽셀 포맷을 지원