Solved

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

Posted on 2011-03-14
7
1,025 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
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
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

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
A short article about problems I had with the new location API and permissions in Marshmallow
This video teaches viewers about errors in exception handling.
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

760 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

Need Help in Real-Time?

Connect with top rated Experts

24 Experts available now in Live!

Get 1:1 Help Now