I read a lot of information about it, and as far I know, the Linaro distribution use it, (I've to do a double check)
But at this moment I can't take off the raspbian and I've to install the library separately
I found one article that explain what to do
How to compile the OpenCV 2.4.0 with libjpeg-turbo
To build OpenCV 2.4.0 with libjpeg-turbo you need:
|
But I'm a little bit out of training and find some questions.
So what I've to do ? I need a cook book, and I didn't find so I have to make one. (please any mistake let me know)
1º Download the libjpeg-turbo
Master of libjpeg-turbo :https://github.com/aumuell/libjpeg-turbo/archive/master.zip
To make the installation ( follow the installation)
2º Prepare the installation
unzip libjpeg-turbo-master.zip
cd {source_directory}
autoreconf -fiv
(note: if the autoreconf doesn't exist add it "sudo apt-get install dh-autoreconf")
mkdir {build directory}
#cd {build_directory} sh {source_directory}/configure [additional configure flags} ../configure --enable-static2-Bº After made the configuration we need to make the library static. (How I can make a static library :| ) -->
"-fPIC" which was an abbreviation for Position Independent Code, and this had
to be passed to create library code objects, without that flag, code that is specific to
the source would be used, and then the library would fail. The command "../configure --enable-static" will create some files We have to edit the “Makefile”
Locate the line CC = gcc and change it by CC = gcc -fPIC
sudo make
sudo make install.After all this steps we'll have installed the libjpeg-turbo. 3º Now How to link our OpenCV to libjpeg-turbo ? Its easy we have to create again our CMAKE configuration
#I removed the python compatibility cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=ON
-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 ..
When the CMAKE comand is done we will see somthing like that
- Detected version of GNU GCC: 46 (406) -- Found JPEG: /opt/libjpeg-turbo/lib/libjpeg.a -- Found Jasper: /usr/lib/arm-linux-gnueabihf/libjasper.so (found version "1.900.1") -- Found OpenEXR: /usr/lib/libIlmImf.so -- Looking for linux/videodev.h -- Looking for linux/videodev.h - not found -- Looking for linux/videodev2.h -- Looking for linux/videodev2.h - found -- Looking for sys/videoio.h -- Looking for sys/videoio.h - not found -- Looking for libavformat/avformat.h -- Looking for libavformat/avformat.h - found -- Looking for ffmpeg/avformat.h ---------------- -- -- Media I/O: -- ZLib: /usr/lib/arm-linux-gnueabihf/libz.so (ver 1.2.7) -- JPEG: /opt/libjpeg-turbo/lib/libjpeg.a (ver 80) -- PNG: /usr/lib/arm-linux-gnueabihf/libpng.so (ver 1.2.49) -- TIFF: /usr/lib/arm-linux-gnueabihf/libtiff.so (ver 42 - 4.0.2) -- JPEG 2000: /usr/lib/arm-linux-gnueabihf/libjasper.so (ver 1.900.1) -- OpenEXR: /usr/lib/libImath.so /usr/lib/libIlmImf.so /usr/lib/libIex.so /usr/lib/libHalf.so /usr/lib/libIlmThread.so (ver 1.6.1)
make
#we have to wait a little bit (you can stop and continue later)
sudo make install
You find some advantage to use jpeg-turbo? Soon test your guide. Thanks too much for this sharing
ReplyDeleteI also compiled libjpeg-turbo and the latest OpenCV 3 from GIT. I also added some optimization flags for NEON. Packages built for Raspberry Pi 2 and Raspbian/Debian Jessie http://soc.ninja/downloads
ReplyDeletehey can u tell me how you added flags for neon
Delete