- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello
I am working on my master thesis that involves using Intel Xeon Phi for image processing. I intend to use OpenCV libraries for the image processing, matrix multiplication and similar needs.
Firstly I have set up OpenCV for classic GCC compiler, and tested some basic code in Eclipse, that worked fine.
But now I'm trying to set up OpenCV for ICC and I'm not really sure what I need to do. I tried making OpenCV source using these instructions, but without success so far (errors while "make"-ing).
I also tried to use the GCC build libraries with ICC compiler in Eclipse, but that didn't work either. (screenshot in attachment).
I hope someone can give me some advice or specific solution on how to build, install and use OpenCV with MIC.
Thanks in advance
Zvonimir
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Computer Vision library has the following requirements:
http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html:
GCC 4.4.x or later
CMake 2.6 or higher
Git
GTK+2.x or higher, including headers (libgtk2.0-dev)
pkg-config
Python 2.6 or later and Numpy 1.5 or later with developer packages (python-dev, python-numpy)
ffmpeg or libav development packages: libavcodec-dev, libavformat-dev, libswscale-dev
[optional] libtbb2 libtbb-dev
[optional] libdc1394 2.x
[optional] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
The CMAKE build system requires further analysis. TBD
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Maybe I misunderstood something, but you linked me the general OpenCV requirements. In my post, I said that I already successfully installed OpenCV and used it with GCC compiler. I presume that means my system meets the requirements for using OpenCV.
My problem is that I don't know how to use OpenCV with the Intel C++ Compiler. I guess I should do cross-compilation described here ( https://software.intel.com/en-us/articles/cross-compilation-for-intel-xeon-phi-coprocessor-with-cmake), but its not working for me as I get a bunch of errors while 'make'ing. (I can add them later, not possible to copy them ATM).
I would appreciate any further information on this topic.
Thanks for your time.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I accept this challenge.
Using openCV:
Is it possible to program with 3DTV effect?
Is it possible to overlay a GUI/HUD onto video streams?
Also, when reviewing some lecture notes regarding 3DTV live programming, I found an article referencing openCV:
http://link.springer.com/chapter/10.1007%2F978-3-642-29154-8_12
This demo explains how to use a Wii remote with openCV.
The live image/depth was rendered with Vizard Virtual Reality SDK by moving around the wii remote
It would not only move the animated character, but it would also "move around" in 3d space.
I would like to implement a system that utilizes openCV, the PHI horsepower, and mic audio input.
Maybe introduce some 3DTV fractals based on the audio waveform properties.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi zvonimir b.
Did you find any solution to the problem. Kindly post here. I also have similar query.
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Amol
Well, I have and I have not. Through my work I managed to install and setup OpenCV for ICC compiler, with quite some help from the people at OpenCV forums. But when I did all that, I've found out that it was not very useful after all.
Something that no one stated is that you cannot use Mat variables, the basic OpenCV data type, while "offloading" a part of code to the Xeon Phi. The problem that occurs states that you cannot use "Mat image" because it is not Bitwise Copyable.
This means you need to convert every Mat variable to a bitwise copyable type, which makes using OpenCV pretty much useless in the first place.
There is a fix to this, but it didn't help my case. There is a data type UMat that is bitwise copyable and easily convertable from and to Mat, but - you cannot access specific element of the image - only the whole thing.
So, bottomline, I wouldn't recommend using OpenCV with Intel Xeon. You can use it with ICC and use the intel acceleration (-O3 works great), but if you intend to use #pragma offload directives - it will work only if you do operations on the whole matrix, not individual elements of the matrix.
I would recommend just building the image related functions from scratch and working with Xeon for parallelization. It seems a lot of work - but getting OpenCV to work on ICC in the first place was a lot of work too.
Ask if you need additional help.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page