Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to compile OpenCV with libjpeg-turbo?

I am using OpenCV 2.3.1 on OS X Lion in one of my C++ projects. While my project works great as-is, it depends heavily on JPEG decoding and encoding. I would like to gain a speedup by using libjpeg-turbo, but I cannot find the correct way to link with libjpeg-turbo. Depending on my hackery attempts and which files I edit, I either end up with compiling errors or with a useless OpenCV library (everything compiles correctly, but I cannot open or write JPEG files, though no errors appear in the C++ project).

Can anyone explain how you can compile OpenCV with libjpeg-turbo for faster JPEG decoding/encoding?

like image 604
kvaruni Avatar asked May 05 '12 19:05

kvaruni


2 Answers

OpenCV now has replaced libjpeg completely by libjpeg-turbo: https://github.com/opencv/opencv/pull/11497

It is in the current master and will be available in the upcoming 3.4.2

like image 133
PhilLab Avatar answered Oct 07 '22 20:10

PhilLab


To build OpenCV 2.4.0 with libjpeg-turbo you need:

  1. build libjpeg-turbo as a static library
  2. configure OpenCV with the following command:

cmake -DWITH_JPEG=ON -DBUILD_JPEG=OFF -DJPEG_INCLUDE_DIR=/path/to/libjepeg-turbo/include/ -DJPEG_LIBRARY=/path/to/libjpeg-turbo/lib/libjpeg.a /path/to/OpenCV

like image 35
Andrey Kamaev Avatar answered Oct 07 '22 20:10

Andrey Kamaev