Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java or C for image processing

I am looking in to learning a programming language (take a course) for use in image analysis and processing. Possibly Bioinformatics too. Which language should I go for? C or Java? Other languages are not an option for me. Also please explain why either of the languages is a better option for my application.

like image 950
its-me Avatar asked Jun 14 '10 16:06

its-me


People also ask

Is Java good for image processing?

Java provides immediate access to the image pixels and color information and allows conversions and image processing.

Is C good for image processing?

C or C++ language have been used for image processing because it contains native libraries such as EmguCV, OpenGL and OpenCV have built-in intelligent feature, mainly used for image processing.

Which language is best for image processing?

Python is one of the widely used programming languages for this purpose. Its amazing libraries and tools help in achieving the task of image processing very efficiently. Through this article, you will learn about classical algorithms, techniques, and tools to process the image and get the desired output.

Which platform is best for image processing?

PyTorch. Open-source machine learning platform. Designed to speed up the development cycle from research prototyping to industrial development.


3 Answers

You have to balance raw processing power and developer time. Java is getting pretty fast too and if you are finished a couple of days early, you have more time to process the data.

It all depends on volume.

More importantly, I suggest you look for the libraries and frameworks which already exist, see which fits closest to what needs to be done, and choose whatever language the library was written be it C, Java or Fortran.

For Java I found BioJava.org as a starting point.

like image 133
Peter Tillemans Avatar answered Nov 15 '22 04:11

Peter Tillemans


Java isn't TOOO bad for image processing. If you manage your source objects appropriately, you ll have a chance at getting reasonable performance out of it. Some of the things I like with Java that relates to imaging:

  1. Java Advanced Imaging
  2. 2D Graphics utilities (take a look at BufferedImages)
  3. ImageJ, etc
  4. Get it to work with JAMA
like image 25
monksy Avatar answered Nov 15 '22 06:11

monksy


Ask someone in the field you're working in (ie, bioinformatics)

For solar images, the majority of the work is done in IDL, Fortran, Matlab, Python, C or Perl (PDL). (Roughly in that order ... IDL is definitely first, as the majority of the instrument calibration software is written in IDL)

Because of this, there's a lot of toolkits already written in those languages for our field. Frequently, with large reference data sets, the PI releases some software package as an example of how to interpret / interact with the data format. I can only assume that Bioinformatics would be similar.

If you end up going a different route than the rest of the field, you're going to have a much harder time working with other scientists as you can't share code as easily.

Note -- There are a number of the visualization tools that have been released in our field that were written in Java, but they assume that the images have already been prepped by some other process.

like image 29
Joe Avatar answered Nov 15 '22 05:11

Joe