Saturday, October 26, 2013

Computer Vision and Java

In the field of computer vision, there are several choices in programming languages.  Matlab is the first choice in terms of ease of use.  Python is chosen for similar reasons.  C++ is used for it's pure speed.  Java just falls somewhere in the middle, and mostly neglected.  But Java has been my first choice for computer vision research/development for several years.

I choose Java for several reasons.  First, it's very easy to debug a java program.  Every time a program crashes, it comes right to the line of the source code, speed up debugging greatly.  It comes with full featured graphics tools, unlike C++, where you need another tool for image loading/writing.  Netbeans makes my quick and dirty prototyping much easier.

I had developed some tools for image processing, computer vision algorithm developing in Java for several year, meanwhile OpenCV are getting more and more versatile.  Finally, I decided that I couldn't limit my programming language in Java any longer.  A little over a year ago, I moved my main algorithm development to C++, based on OpenCV.  It has been rewarding.  Still, I miss my days when I can mainly code in Java.

Then desktop Java interface for OpenCV becomes available.  Now I can combine ease of coding in Java and the capabilities and speed of OpenCV.  Life just couldn't get any better.

It's still in the early stage of OpenCV Java interface.  There are not a ton of examples/tutorial available.  Since I have been working with JNI for several year, I'd like to translate some OpenCV C++ examples in to running Java example for some time to come.




2 comments:

  1. Hello! I want to ask and discuss with you about my project. Could you give me your skype ID? or you may add me: phamhungbg90

    Thanks!

    ReplyDelete
  2. Is there any working example on how to play video file in java using opencv VideoCapture class? Please help

    ReplyDelete