Extracting Color Features from an Image - image

I would like to extract Color and Texture features from Training images for the purpose of automatic annotation . On Googling I found algorithms some algorithms.
Can somebody guide me to the specific tools or existing code for this task preferably in C++.
Thanks

OpenCV is a large computer vision library which has a C++ interface. It provides functions to calculate a large number of colour and texture features. Perhaps you should look at some of the tutorials to learn what it can do: http://docs.opencv.org/doc/tutorials/tutorials.html
Good luck!

Related

Extracting trees from image without picking up background vegetation?

I do not have a background in image recognition/feature extraction, but I am in need of a way to extract trees from an image without the background vegetation.
Seen above is a small example of the kind of imagery I'm working with. I have access to multi-spectral imagery as well (though I haven't seen it yet) including NDVI, NIR, Red-edge.
From researching the problem at hand, I am aware that feature extraction is an active area of research and it seems that often supervised and unsupervised machine learning is employed in combination with statistical voodoo such as "PCA". Being able to differentiate between trees and background vegetation has been noted as an area of difficulty in some papers I skimmed over in my research.
There are notable features about the imagery I am working with. First of all, the palm trees have a very distinctive shape. Not only this, but there are obvious differences in the texture of the trees vs the texture of the background vegetation.
I am not an academic, and as such I only have access to publicly available papers for my research. I am looking for relevant algorithms that could help me extract the features of interest to me (trees) that either have an implementation (ideally in C or bindings to C, though I'm aware that it is not a commonly used language in this field) or with publicly available papers/tutorials/sites/etc. detailing the algorithm so that I could implement it myself.
Thanks in advance for any help!
Look into OpenCV, It has a lot of options for supervised/semi supervised Learning methods. As you have mentioned there is a visible texture difference between the tress and background vegetation, a good place for you would be to start would be color based segmentation and evolving it to use textures as well. OpenCV ML tutorial is a good starting point. Moreover you can also combine the NDVI data to create a stronger feature set.

perlin simplex worley noise libraries for tiling in javascript or HTML5 in general?

I am curious if there are libraries already developed for creating these noises in javascript?
I have searched the web for about two hours looking for libraries in javascripts. I have seen this implementation for the simplex noise:
https://gist.github.com/304522
but I have not seen any libraries made up specifically for javascript.
If no one knows of any libraries then link suggestions on how to develop these functions would be great as well. I am currently doing Google searches for everything I have asked here I just figured better to have multiple web crawlers helping me out concurrently :) Also if someone on stack overflow has already found a quality site then even better.
Thanks guys!
Here you can find a thoroughly explanation of the algorithm, also the original code from Worley (explained in Texturing and modelling. A procedural approach) ported to Processing.
At the moment I'm working deploying to Javascript.
For the tiling part of your question: if you have a Perlin or Simplex noise function you don't really need a library to create tiling images because the math is really not that difficult. What is difficult is understanding how it works. For instance: a spherical noise map is way easier than simple 2D tiling image because you need to work with four dimensions for the latter.
I once wrote a blog post explaining in detail how to create tiling noise (including Javascript code examples).
It shows you how to tile in linear, cylindrical, planar and spherically (including cubical panorama).
I've made a javascript app that renders perlin/simplex noise to an html5 canvas, you can find it here: http://lencinhaus.github.com/canvas-noise
Well it's not a proper library, but the javascript code contains implementations of value noise, perlin noise (both in classic and improved versions) and simplex noise, all derived from the original Perlin's C implementations (or a more optimized java version for simplex noise, see the references in the code). You can tweak the noise parameters visually and immediately see the results in the browser, so maybe it can be useful for you.
hope that helps!

Is there any algorithm for generating 3d clouds?

So Id love to see an algorithm for generating 3d cloud objects. as realistic as possible. I know that there are different cloud types But I am moust interested in such cloud tupes like
(source: weather.gov)
(source: weather.gov)
so can any one point to algorithm or just a C\C++\C#\AS3 or any other language lib that can do such thing?
You could try Procedural Generation or even Particle Systems.
Here is a page which seems to have a comprehensive list of various cloud generation methods: Vterrain.Org's page on Clouds.
Hope that helps!
I'm not sure if there's a library that implements this, but this SIGGRAPH paper (http://graphics.cs.brown.edu/games/CartoonSmoke/) outlines a method for generating cartoon clouds that look very much like the one you've posted.
You could do that in any language with any drawing library ! For example, in C++ with Ogre
You could also generate it with a 3D modeler as Blender or 3DSMax, depending on what you want to do with it !
However, I don't know if algorithms to generate clouds are freely available, you should give it a shot in Google.

PDF Generation library supporting gradient fills

Are there any libraries out there (python, .net, c++, anything...) that can generate PDF libraries that also includes features like gradient shading?
iText can.
There are a few different types of gradient fills: linear, radial etc.
What kind of effect are you hoping to achieve?
Quick PDF Library supports only linear (axial) gradients:
http://www.quickpdflibrary.com/help/quickpdf/NewRGBAxialShader.php
PDFSharp http://www.pdfsharp.com/ seems capable. See example pdf:

Generating Professional Graphs In Windows

In Windows, I am looking at generating professional graphs using any mainstream programming language (C#, VB.Net, Java, PERL, etc). The best free looking graphs I have found so far is Microsoft Chart Controls for .NET. What other graph controls/modules do you suggest?
Note: Added free to the requirements.
GLE is a scripting language designed for generating professional quality graphs and diagrams for publication. It uses LaTeX for typesetting, so including equations in your graphs is a snap and they look great. Christopher Bishop used GLE for all the diagrams in his textbook, "Pattern Recognition and Machine Learning," and let me tell you, they looked great. Open-source to boot!
First you write the GLE script and tell it to accept a text file as the graph input data. Then, you can generate the data set in whatever language you want, export as a text file, and call the GLE script to generate the graph.
More info from the website:
GLE (Graphics Layout Engine) is a graphics scripting language designed for creating publication quality graphs, plots, diagrams, figures and slides. GLE supports various graph types (function plots, histograms, bar graphs, scatter plots, contour lines, color maps, surface plots, ...) ... GLE's output formats include EPS, PS, PDF, JPEG, and PNG.
jFreeChart is [one of] the best solution[s] out there for Java. I totally recommend it.
Have you seen Zedgraph?. It is LGPL, but rather extensive.
There are dozens and dozens of commercial charting components out there. Personally, I like the DevExpress tools.
XtraCharts is really good, well documented and relatively affordable.

Resources