Solved

Which language for Image Processing, Video and Pattern Recognition/Analysis

Posted on 2011-03-14
7
1,033 Views
Last Modified: 2012-05-11
hello experts

i'm starting a new project - i'm provided with high-speed camera raw data of excitable tissue (10'000fps at a resolution of 100x100px) for which i need to develop a software that offers the possibility of displaying this raw data (single pixel data, still images, movies) and does some basic data conditioning (temporal and spatial filtering). conditioned/extracted data will be subjected to basic data analysis (extract some parameters in time and space) as well as some more sophisticated pattern recognition (flow analysis, excitation pattern recognition, etc.). all of this needs to be packed behind an intuitive UI where resultas are displayed etc. (incl. export, etc)

i have quite some experience in C, Java, VHDL, Matlab and am seeking your advice which libraries and languages (most probably c++? or c#?) i should go for with this project. as my timeframe is limited to 6 months only i would love to have something where i can get to solve the problems as fast as possible and where i do not need to tinker with basic algorithms (fft, filtering, loading&storing data, displaying graphs) etc.

i was thinking to use Qt for the UI and probably OpenCV or MIL (matrox). what other libraries are your suggestion? (i need something for video display, pattern recognition/flow analysis, data import/export etc.) and am i good with choosing Qt and C++ or should I go with .net etc...?

any help on this is very much appreciated!


0
Comment
Question by:Kendor
  • 3
  • 2
  • 2
7 Comments
 
LVL 24

Expert Comment

by:fridom
ID: 35154647
Use what you know best. I guess you will need some "low-level" functions (this would be C/C++ land what you use for the interface is up to you. If you are comfortable with QT, why  not use it?
0
 
LVL 5

Author Comment

by:Kendor
ID: 35154747
that's actually my concern. I'm not very comfortable with C++ and I am wondering whether I could get things done in time (in terms of speed) when using Java or C# - plus all the complications that come up when I want to use OpenCV, MIL, IITK...
0
 
LVL 24

Assisted Solution

by:fridom
fridom earned 200 total points
ID: 35155239
Well why don't you use what you know then. If you think it's C then, why not C. Or maybe looking around for software from that area might be "a good" idea....

0
DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

 
LVL 15

Accepted Solution

by:
yuk99 earned 300 total points
ID: 35182239
Since you already mentioned MATLAB as one of the possible tools in your list, it actually could be a good choice for the project. It has very sophisticated out-of-the-box tools for data and image acquisition and control, and for image and video processing. In addition, many other tools and demos are available from MATLAB community. If you know the MATLAB basics, how to deal with matrices and indexing, learning of new tools shouldn't be a problem. The IDE is great and the development is fast comparing to Java or C++ and I'd say it's fun.

There are some  downsides. It's not free, but I hope your university has the licenses. The code is interpreted, so it might not be as fast as from C/C++ or Java. To run it on machine without MATLAB, the code has to be compiled, and MATLAB Compiler Runtime (MCR) library has to be installed (which is quote heavy in size and version dependent).

Here are some toolboxes you might be interested in:
Image Acquisition Toolbox - http://www.mathworks.com/products/imaq/
Image Processing Toolbox - http://www.mathworks.com/products/image/
Video and Image Processing Blockset - http://www.mathworks.com/products/viprocessing/
Signal Processing Toolbox - http://www.mathworks.com/products/signal/

For other products see http://www.mathworks.com/products/

MATLAB community - http://www.mathworks.com/matlabcentral/

At the end I'd like to point that, as others already mentioned, your choice should be based on your experience. If your experience (or lack of it) is about equal, MATLAB would be the great choice for this task.

Good luck.
0
 
LVL 5

Author Comment

by:Kendor
ID: 35182345
Thanks for your input on that, yuk99&fridom. As I don't have too much time and because having a first prototype is more important than a fully functional fast software I'll go with MATLAB - it's what I know best and what takes the least time...
I saw that the 2010b release has added some video features that I might check out.

Btw. yuk99 do you know of any good books on doing more sophisticated MATLAB GUI stuff than just having some buttons and implementing their callbacks?
0
 
LVL 15

Expert Comment

by:yuk99
ID: 35183935
I usually recommend this book:
MATLAB Advanced GUI Development
http://www.amazon.com/gp/aw/d/1598581813
0
 
LVL 5

Author Closing Comment

by:Kendor
ID: 35184337
Thanks - I'm sure during my work there will be more technical questions on that topic ;)
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
topping2 challenge 13 91
how to use laptop or pad camera in vb.net windows application 2 71
mpeg to mp4 free tool 8 76
i am cortana ask me anything 5 52
This article will show, step by step, how to integrate R code into a R Sweave document
A short article about problems I had with the new location API and permissions in Marshmallow
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question