views:

122

answers:

6

I'm Developing a CBIR (Content based Image Retrieval System) as part of my BE project.

Which of the below mentioned tools will be better to be used for image processing??

1-> Matlab 2-> Mathematica

I'm planning to develop this system using java as a front end of the system. which of above systems will be better. Or should I go for some 3rd party image processing API's available for java ????

A: 

I would look into the ImageMagick/GraphicsMagick family (SO discussion), which has several Java wrappers (e.g., JMagick).

Michael Brewer-Davis
+2  A: 

What are your criteria for measuring the relative superiority of programs for image processing ? For example, if you are a Mathematica expert then you will find it easier to use Mathematica for the task. On the other hand, if you are a penniless student then you will find Java and some of its libraries more to your taste.

EDIT: in answer to OP's comments ...

'ease of image processing' is entirely subjective -- if you don't know Mathematica then it will be difficult to use it for image processing -- so this one is your call.

'processing time' is entirely objective -- but do you have the time to try out all 3 of your suggested options and compare them ? For a BE project you'll be far better using the tool you are most comfortable with and spending as little time as you can wrestling with an unfamiliar tool for the sake of a bit of extra speed.

'cellular automata' for image processing -- don't know how relevant it is, but Mathematica has inbuilt functionality for cellular automata.

High Performance Mark
my preference are ease of image processing and processing time.
Mew 3.2
Also if I'm trying to use Cellular Automata model of Image Processing, then which software can I use???
Mew 3.2
As far as my practical knowledge is concerned I have working experience Image Processing in Matlab. So, I'll be more comfortable with it.
Mew 3.2
Also if I'm using Matlab for image processing, then is it necessary that all the computers using my application should have Matlab previously installed in it ????
Mew 3.2
@Mew, yes need to have Matlab running in your machine.
Raj
A: 

you could use ImageMagick or why not look into the JMF (Java Media Framework)

Theresa
+4  A: 

I used Mathematica for years and still found it easier to learn Matlab from scratch in order to do an image processing project. The thing that makes Matlab better here is that many state-of-the-art image algorithms have code available. For instance, for content-based image retrieval you need to extract content features, and vl_sift library does that. Also, you can bundle your Matlab library to run as a stand-alone executable, and I don't know if that's possible with Mathematica.

Yaroslav Bulatov
A: 

I'm looking to do image processing in Java. I found something called ImageJ. not sure if any of you have come across this. I haven't tried it.

My image processing requirements are drawing a rectangle around a object in a grayscale image.

let me know about ur finding too

thanks

AtharvaI
A: 

I previously suggested ImageJ and others mentioned ImageMagick since I mentioned Java environment. However, I would like to change my suggestion. I came across Intel's OpenCV (Opensource Computer Vision) libraries. This is a great set of libraries for use with C, C++ and Python. This is cross platform too! So porting the code shouldn't be too difficult.

Why I think OpenCV is great is because even novices (like me) in Image Processing can use it. for example, smoothing an image is as easy as calling one function cvSmooth() with a few parameters on which type of smoothing (blur, gaussian etc). It supports much more advanced functions such as Optical flow and blob tracking. And the great thing is, its quick to test out or build simple image transforms.

for more info please go to http://opencv.willowgarage.com/wiki/ . Here you'll find cheatsheats, reference manuals, examples and some tips. great help and starting point.

Thanks

AtharvaI