good resource for exploring image processing in java [closed] - java

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am new to image processing, please suggest some good resources(Books and Weblinks) for learn image processing(best for steganography analysis) in java for beginner as well as advance level.
I have seen documentation provided by oracle, but I want some tutorials and books which focus on the practical environment used in the current development in industries.
Thanks!!

Image processing is an extensive field with many theoretical aspects. Learning image processing involves reading books, articles and developing algorithms. You can go even further, investigating the structure of the human eye and neurocognitive aspects of the vision in order to understand the foundations of image observation.
Books:
Digital Image Processing (3rd Edition) by Gonzalez, Rafael C. and Woods, Richard E. (Jun 20, 2012)
Digital Image Processing: An Algorithmic Introduction using Java by Wilhelm Burger and Mark J. Burge (Jan 19, 2012)
Machine Vision, Third Edition: Theory, Algorithms, Practicalities (Signal Processing and its Applications) by Davies, E. R. (Dec 22, 2004)
Vision: A Computational Investigation into the Human Representation and Processing of Visual Information by Marr, David, Ullman, Shimon and Poggio,
Guidance of topics to learn (my opinion):
Introduction to Digital Image Processing
Human Visual System
Color Models
Color Image Processing
Filtering
Image Transformations
Morphological Image Processing
Segmentation
Feature Extraction (edges, lines, corners, etc)
Image Restoration
If you want to recognize objects and patterns, you need to study pattern recognition. It is a complex field with concepts of image processing, statistics, mathematical optimization and machine learning.
As you can see it is long journey. Along with reading, of course you have to implement some computer programs. I think you need to balance between implement your own algorithms and use frameworks. Below is a list of Java frameworks and tools may help you:
ImageJ ( http://rsbweb.nih.gov/ij/index.html): image processing program developed at the National Institutes of Health.
Marvin Framework (http://marvinproject.sourceforge.net/): project that aims to provide an easy to use and extensible framework for image processing and computer vision.
JMagick (http://www.jmagick.org/index.html): Java wrapper for ImageMagick
JAI (enter link description here): Original Sun's Java Advanced Imaging
JIU (http://sourceforge.net/projects/jiu/): Java Image Utilities
Machine learning tools and framework:
Weka ([http://www.cs.waikato.ac.nz/ml/weka/6)
I invite other stackoverflow contributors to improve this post.

Have a look at Fiji which is using ImageJ and provides you with a graphical interface for experimentation.

Related

Best and current tools and programming languages to use in building a web site that does engineering calculations and graph outputs [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I have written a Python application that takes about 4 numbers from the user and does some calculations with it. The final result is displayed on a matplotlib graph. Now, I would like to take this application and put it on a web site. I want to have users sign up for a yearly subscription, do their calculations and print the results to a PDF to be saved on their computer. Because I know Python (but just a beginner at that), I tried to learn Django, but I hit many road blocks with Python version management, getting bunch of error messages that I could not debug. My question to you is what current tools and programming language would you recommend (Java, PHP, HTML, others). I am willing to learn and try anything. I'd rather be able to look at others' code to understand what they did and how they did. Thank you.
Sounds like you are trying to build a large complex application before learning the basics. Python is fine for a server side language but you will need to get a good understanding of HTML, CSS and Javascript to pull pretty much anything of value off when it comes to the web. Take a look at sides like Team Treehouse, Code School or Code Academy. They all have great courses to give you some more knowledge around not only HTML, CSS and JS but how to leverage those technologies into a system like explained above. Good luck!

How do you find the subject of a sentence? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I am new to NLP and was doing research about what language toolkit I should be using to do the following. I would like to do one of the two things which accomplishes the same thing:
I basically would like to classify a text, usually one sentence that contains 15 words. Would like to classify if the sentence is talking about a specific subject.
Is there a tool that given a sentence, it finds out the subject of a sentence.
I am using PHP and Java but the tool can be anything that runs on Linux command line
Thank you very much.
The most basic way of doing this is create a set of labeled training data and using it to train a classifier. How the classifier works is a more complicated issue- for spam filtering and many other things, just looking at the word frequency works pretty well.
Here is a basic example: http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/ex6/ex6.html
It is trivial to write a Naive Bayes classifier; a package like MALLET will also have this plus better machine learning methods. Lingpipe will also have this sort of stuff.
What you really should care about is the quality of data and what your features are. By quality of data I mean lots of data without that many borderline cases, and by features I mean are you choosing just words, or combinations of words (word ngrams), or dependency features, or something more complex. You need a way to create the feature data as well as actually do the learning! In this sense Lingpipe is good as you can do tokenization and all that first as opposed to writing your own functions to do this or having to cobble other tools together into your own feature generation code.
A guide to MALLET can be found here: http://courses.washington.edu/ling570/fei_fall10/11_15_Mallet.pdf
NLTK may solve problem.
i found below web service api handy and off the shelf to use...
http://text-processing.com/demo/

What is the best open source pure java computer vision library? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
As a practical developer I would like to make a good algorithm for my specific task, built from blocks, like a 'boundary extraction', or 'gamma correction' and so on, but I don't want to implement the wheel, making all that stuff, so I wander - if there's any powerful CV library, like C++'s OpenCV?
Saying "the best", I mean library having following properties:
Lot of different algorithms implemented
Extensibility - I can create new stuff in terms of the library
High performance
Thread safety
You might be interested in a pure Java open source computer vision library I have developing, BoofCV. BoofCV supports many common image processing operations, advanced feature detection, wavelet denoising, camera calibration, stereo vision and structure from motion . It's also very fast. Currently has the fastest SURF implementation out of any open source library, including C/C++ ones. Speed wise, it is very competitive with OpenCV for mid to high level vision algorithms. OpenCV is of course faster for low level image processing.
Website: http://boofcv.org
OpenCV vs BoofCV: http://boofcv.org/index.php?title=Performance:OpenCV:BoofCV
SURF Performance Study: http://boofcv.org/index.php?title=Performance:SURF
Ok enough marking. Hope you guys like it!
Much of the code is already in place, just missing a couple of components.
Shaman,
I have been looking a long time for a image processing library comparable to opencv in Java. For the amount of automated tasks opencv performs there is nothing that comes close to it for the advanced machine vision type applications.
In terms of image processing though imagej has a large amount of preimplemented algorithms and plugins. I use this library all the time to preprocess things I need to send into opencvs machine vision utilities. This is also open source with easy ways of adding additional features through plugins or direct manipulations so I think it could meet most of your requirements.
OpenCV has Java wrappers:
OpenCV Java and Processing library
JavaCV

What software would you recommend for image enhancement prior to OCR (Optical Character Recognition)? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
We are currently researching ways of enhancing image quality prior to submission to OCR. The OCR engine we are currently utilizing is the Scansoft API from Nuance (v15). We were researching the Lead Tools but have since decided to look elsewhere. The licensing costs associated with Lead Tools is just too great. To start with we are looking for simple image enhancement features such as: deskewing, despeckling, line removal, punch hole removal, sharpening, etc. We are running a mix of .NET and Java software, but java solution would be preferred.
Kofax is good for pre-processing, but for the types of cleanup you are talking about may be overkill unless the images are really bad. Unless your specialty is in image processing, I'd recommend working with a provider that does the image cleanup and the OCR so you can focus on the value you actually add.
We license the OCR development kit from ABBYY (ABBY SDK) and have found it to be superb for both image processing and OCR. The API is quite extensive, and the sample apps, help and support have been beyond impressive. I definitely recommend taking a look.
Disclaimer: I work for Atalasoft
We have those functions and run-time royalty-free licensing for .NET.
http://www.atalasoft.com/products/dotimage/
We also have OCR components including a .NET wrapper for Abbyy, Tesseract and others and Searchable PDF generation (image on top of text in a PDF)
Not sure if this would be quite up to the standards that you guys would need, but perhaps you should look at some of the Paint.Net APIs. I don't know how easy it would be to extract their image processing algorithms for use in your project, but I believe they do some of the things you are looking for. Plus it is an open source project with an MIT License, so it should be pretty friendly for business use.
Research about KOFAX VRS at KOFAX.com
Maybe JMagick, it is an open source Java interface of ImageMagick. It is implemented in the form of a thin Java Native Interface (JNI) layer into the ImageMagick API. It's licensed under the LGPL so it shouldn't be a problem license wise.
http://sourceforge.net/projects/jmagick/
I would suggest Intel for its zero-cost runtime licensing.
Depends on the number and quality of the original images. Managed code and imaging tool kits will work but it's not always the best solution if you haved several million images to process. For small batches and tight budgets, I agree with the previous posters that projects like Aforge, Paint.NET, and other open source computer vision libraries will do the trick. Of course, you are on your own if the results are not improving... At least this let's you put everything you need under one application for a low cost.
If you are processing several hundred thousand images a month, then I would suggest you divide up the process into smaller workflow step and tweak each one until your cost per image gets as close to zero as you can. You will find that the OCR results rise quickly at first and then level off sooner than you expected. (I'm not a big fan of OCR but it has its place)
I use commercial Windows product from Recogniform to process and clean up the images prior to OCR in a batch mode using scripts adjusted for various kinds of images. If an image fails QC or is rejected by the OCR engine, it is "repaired" by hand using a custom .NET application built with Atalasoft's toolkit. Batch process everything and only touch what fails.

Charting library for Java and .Net [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
Can anyone recommend a library for chart generation (bar charts, pie charts etc.) which runs on both Java and .Net?
ChartDirector is fantastic and supports more than just Java and .NET.
Have you looking into using JFreeChart. I have used it on a few Java projects and its very configurable. Its free but I think you can purchase the developers guide for $50. Its good for quick simple charts too. However performance for real-time data is not quite up to par (Check out the FAQ).
They also have a port to .NET however I have never used it.
Hope that helps.
Dundas Charts was about the easiest thing ever to get up and producing amazing looking charts.
Flash Charts.
http://www.fusioncharts.com/free/Gallery.asp
You could also try Open Flash Charts
ChartFX (http://www.softwarefx.com) has been a leader in charting for years. I personally have used several different versions for over 8 years and it is rock solid.
I have re-evaluated charting options periodically, and ChartFX has won in my environment based almost purely on feature set. It is not free or cheap, but it is well worth the price they charge.
-Geoffrey
Here is a belated answer:
Use the Google Chart API. It will allow you to create charts in a programming language and platform agnostic way -- assuming your app will have an Internet connection at all times. Use it in combination with .Net and Java wrapper APIs that you can find here.
I wrote one: charts4j.

Categories

Resources