Something More for Research

Explorer of Research #HEMBAD

Posts Tagged ‘Open source’

Computer Vision source codes

Posted by Hemprasad Y. Badgujar on January 19, 2015


Feature Detection and Description

General Libraries:

  • VLFeat – Implementation of various feature descriptors (including SIFT, HOG, and LBP) and covariant feature detectors (including DoG, Hessian, Harris Laplace, Hessian Laplace, Multiscale Hessian, Multiscale Harris). Easy-to-use Matlab interface. See Modern features: Software – Slides providing a demonstration of VLFeat and also links to other software. Check also VLFeat hands-on session training
  • OpenCV – Various implementations of modern feature detectors and descriptors (SIFT, SURF, FAST, BRIEF, ORB, FREAK, etc.)

Fast Keypoint Detectors for Real-time Applications:

  • FAST – High-speed corner detector implementation for a wide variety of platforms
  • AGAST – Even faster than the FAST corner detector. A multi-scale version of this method is used for the BRISK descriptor (ECCV 2010).

Binary Descriptors for Real-Time Applications:

  • BRIEF – C++ code for a fast and accurate interest point descriptor (not invariant to rotations and scale) (ECCV 2010)
  • ORB – OpenCV implementation of the Oriented-Brief (ORB) descriptor (invariant to rotations, but not scale)
  • BRISK – Efficient Binary descriptor invariant to rotations and scale. It includes a Matlab mex interface. (ICCV 2011)
  • FREAK – Faster than BRISK (invariant to rotations and scale) (CVPR 2012)

SIFT and SURF Implementations:

Other Local Feature Detectors and Descriptors:

  • VGG Affine Covariant features – Oxford code for various affine covariant feature detectors and descriptors.
  • LIOP descriptor – Source code for the Local Intensity order Pattern (LIOP) descriptor (ICCV 2011).
  • Local Symmetry Features – Source code for matching of local symmetry features under large variations in lighting, age, and rendering style (CVPR 2012).

Global Image Descriptors:

  • GIST – Matlab code for the GIST descriptor
  • CENTRIST – Global visual descriptor for scene categorization and object detection (PAMI 2011)

Feature Coding and Pooling

  • VGG Feature Encoding Toolkit – Source code for various state-of-the-art feature encoding methods – including Standard hard encoding, Kernel codebook encoding, Locality-constrained linear encoding, and Fisher kernel encoding.
  • Spatial Pyramid Matching – Source code for feature pooling based on spatial pyramid matching (widely used for image classification)

Convolutional Nets and Deep Learning

  • Caffe – Fast C++ implementation of deep convolutional networks (GPU / CPU / ImageNet 2013 demonstration).
  • OverFeat – C++ library for integrated classification and localization of objects.
  • EBLearn – C++ Library for Energy-Based Learning. It includes several demos and step-by-step instructions to train classifiers based on convolutional neural networks.
  • Torch7 – Provides a matlab-like environment for state-of-the-art machine learning algorithms, including a fast implementation of convolutional neural networks.
  • Deep Learning – Various links for deep learning software.

Facial Feature Detection and Tracking

  • IntraFace – Very accurate detection and tracking of facial features (C++/Matlab API).

Part-Based Models

Attributes and Semantic Features

Large-Scale Learning

  • Additive Kernels – Source code for fast additive kernel SVM classifiers (PAMI 2013).
  • LIBLINEAR – Library for large-scale linear SVM classification.
  • VLFeat – Implementation for Pegasos SVM and Homogeneous Kernel map.

Fast Indexing and Image Retrieval

  • FLANN – Library for performing fast approximate nearest neighbor.
  • Kernelized LSH – Source code for Kernelized Locality-Sensitive Hashing (ICCV 2009).
  • ITQ Binary codes – Code for generation of small binary codes using Iterative Quantization and other baselines such as Locality-Sensitive-Hashing (CVPR 2011).
  • INRIA Image Retrieval – Efficient code for state-of-the-art large-scale image retrieval (CVPR 2011).

Object Detection

3D Recognition

Action Recognition

 


 

Datasets

Attributes

  • Animals with Attributes – 30,475 images of 50 animals classes with 6 pre-extracted feature representations for each image.
  • aYahoo and aPascal – Attribute annotations for images collected from Yahoo and Pascal VOC 2008.
  • FaceTracer – 15,000 faces annotated with 10 attributes and fiducial points.
  • PubFig – 58,797 face images of 200 people with 73 attribute classifier outputs.
  • LFW – 13,233 face images of 5,749 people with 73 attribute classifier outputs.
  • Human Attributes – 8,000 people with annotated attributes. Check also this link for another dataset of human attributes.
  • SUN Attribute Database – Large-scale scene attribute database with a taxonomy of 102 attributes.
  • ImageNet Attributes – Variety of attribute labels for the ImageNet dataset.
  • Relative attributes – Data for OSR and a subset of PubFig datasets. Check also this link for the WhittleSearch data.
  • Attribute Discovery Dataset – Images of shopping categories associated with textual descriptions.

Fine-grained Visual Categorization

Face Detection

  • FDDB – UMass face detection dataset and benchmark (5,000+ faces)
  • CMU/MIT – Classical face detection dataset.

Face Recognition

  • Face Recognition Homepage – Large collection of face recognition datasets.
  • LFW – UMass unconstrained face recognition dataset (13,000+ face images).
  • NIST Face Homepage – includes face recognition grand challenge (FRGC), vendor tests (FRVT) and others.
  • CMU Multi-PIE – contains more than 750,000 images of 337 people, with 15 different views and 19 lighting conditions.
  • FERET – Classical face recognition dataset.
  • Deng Cai’s face dataset in Matlab Format – Easy to use if you want play with simple face datasets including Yale, ORL, PIE, and Extended Yale B.
  • SCFace – Low-resolution face dataset captured from surveillance cameras.

Handwritten Digits

  • MNIST – large dataset containing a training set of 60,000 examples, and a test set of 10,000 examples.

Pedestrian Detection

Generic Object Recognition

  • ImageNet – Currently the largest visual recognition dataset in terms of number of categories and images.
  • Tiny Images – 80 million 32×32 low resolution images.
  • Pascal VOC – One of the most influential visual recognition datasets.
  • Caltech 101 / Caltech 256 – Popular image datasets containing 101 and 256 object categories, respectively.
  • MIT LabelMe – Online annotation tool for building computer vision databases.

Scene Recognition

Feature Detection and Description

  • VGG Affine Dataset – Widely used dataset for measuring performance of feature detection and description. Check VLBenchmarksfor an evaluation framework.

Action Recognition

RGBD Recognition

 

Posted in Computer Vision, OpenCV, OpenCV | Tagged: , , , , , , , , , | Leave a Comment »

CMake: Building with all your cores

Posted by Hemprasad Y. Badgujar on June 20, 2014


CMake: Building with all your cores

As a distance runner, it is important to run using a fully engaged core. This allows for the most efficient means of moving towards my running goals. Software developers are equally motivated to use as much of their “cores” as possible to build software. OK, I admit this is a bit of a lame analogy, but I don’t think you would find too many developers that are not interested in building software as fast as possible using all of the horse power available on the hardware they are using. The CMake build system and its developers have always been aware of how important parallel builds are, and have made sure that CMake could take advantage of them when possible.

Since CMake is a Meta build tool that does not directly build software, but rather generates build files for other tools, the approaches to parallel building differ from generator to generator and platform to platform. In this blog, I will cover the approaches for parallel builds on the major platforms and tool chains supported by CMake.

First some terms:

  • Target Level Parallelism – This is when a build system builds high level targets at the same time. High level targets are things like libraries and executables.
  • Object Level Parallelism – This is when a build system builds individual object files at the same time. Basically, it invokes the compiler command line for independent objects at the same time.
  • CMake generator – A CMake generator is a target build tool for CMake. It is specified either in the cmake-gui or with the –G command line option to cmake.

I will start with Linux, followed by Apple OSX, and finish up with Windows.

Linux:

GNU Make

The traditional gmake tool which is usually installed as “make” on Linux systems can run parallel builds. It is used by CMake’s “Unix Makefiles” generator. To have parallel builds with gmake, you need to run gmake with the –jN command line option. The flag tells make to build in parallel. The N argument is used to specify how many jobs are run in parallel during the build. For minimum build times, you want to use a value of N that is one more than the number of cores on the machine.  So, if you have a quad core Linux machine, you would run make –j5.  Here is an example:

# assume your source code is in a directory called src and you are one directory up from there

mkdir build

cd  build

cmake –G”Unix Makefiles” ../src

make –j5

 

ninja

Some developers at Google recently created a new build tool called ninja. This is a replacement for the GNU make tool. ninja was created to run faster than make and of course run parallel builds very well. Fortunately, CMake now has a ninja generator so that your project can take advantage of this new tool. Unfortunately, if you are using CMake to build Fortran 95 or greater code that makes used of Fortran modules you will have to stick to GNU make.  The ninja support for Fortran depend information is not yet implemented in CMake. (if you are interested in this, please send me an email). If your project does not include Fortran code, then ninja might be a good tool for you to try. ninja is very quick to figure out that it has nothing to do which is important for incremental builds of large projects.

To use ninja you will need to first build ninja from source. The source for ninja can be found here: git://github.com/martine/ninja.git. You will need python and a c++ compiler to build ninja. There is a README in the top of the ninja source tree that explains how to build it. Basically, you just run python bootstrap.py. This will produce a ninja executable. Once it is built, you will need to put ninja in your PATH so CMake can find it.

ninja does not require a –j flag like GNU make to perform a parallel build. It defaults to building cores +2 jobs at once (thanks toMatthew Woehlke for pointing out that it is not simply 10 as I had originally stated.).  It does however accept a –j flag with the same syntax as GNU make, -j N where N is the number of jobs run in parallel. For more information run ninja –help with the ninja you have built.

Once you have ninja built and installed in your PATH, you are ready to run cmake.  Here is an example:

# assume your source code is in a directory called src and you are one directory up from there

mkdir build

cd  build

cmake –GNinja ../src

ninja

 

Mac OSX

Mac OSX is almost the same as Linux and both GNU make and ninja can be used by following the instructions in the Linux section. Apple also provides an IDE build tool called Xcode. Xcode build performs parallel builds by default. To use Xcode, you will obviously have to have Xcode installed. You run cmake with the Xcode generator.  Here is an example:

# assume your source code is in a directory called src and you are one directory up from there

mkdir build

cd  build

cmake –GXcode ../src

# start Xcode IDE and load the project CMake creates, and build from the IDE

# or you can build from the command line like this:

cmake -–build . –config Debug

 

Note, cmake –build can be used for any of the CMake generators, but is particularly useful when building IDE based generators from the command line.  You can add options like -j to cmake –build by putting them after the — option on the command line.  For example, cmake –build . –config Debug — -j8 will pass -j8 to the make command

Windows:

The Windows platform actually has the greatest diversity of build options. You can use the Visual Studio IDE, nmake, GNU make, jom, MinGW GNU make, cygwin’s GNU Make, or ninja. Each of the options has some merit. It depends on how you develop code and which tools you have installed to decide which tool best fits your needs.

Visual Studio IDE

This is a very popular IDE developed by Microsoft. With no extra options the IDE will perform target level parallelism during the build. This works well if you have many targets of about the same size that do not depend on each other. However, most projects are not constructed in that maner. They are more likely to have many dependencies that will only allow for minimal parallelism. However, it is not time to give up on the IDE. You can tell it to use object file level parallelism by adding an extra flag to the compile line.

The flag is the /MP flag which has the following help: “/MP[N] use up to ‘n’ processes for compilation”.  The N is optional as /MP without an n will use as many cores as it sees on the machine.  This flag must be set at CMake configure time instead of build time like the –j flag of make. To set the flag you will have to edit the CMake cache with the cmake-gui and add it to the CMAKE_CXX_FLAGS and the CMAKE_C_FLAGS.  The downside is that the IDE will still perform target level parallelism along with object level parallelism which can lead to excessive parallelism grinding your machine and GUI to a halt. It has also been known to randomly create bad object files. However, the speed up is significant so it is usually worth the extra trouble it causes.

GNU Make on Windows

Using GNU Make on Windows is similar to using it on Linux or the Mac. However, there are several flavors of GNU make that can be found for Windows. Since I am talking about achieving maximum parallelism, you need to make sure that the make you are using supports the job-server. The makefiles that CMake generates are recursive in implementationhttp://www.cmake.org/Wiki/CMake_FAQ#Why_does_CMake_generate_recursive_Makefiles.3F. This means that there will be more than one make process will be running during the build. The job-server code in gmake allows these different processes to communicate with each other in order to figure out how many jobs to start in parallel.

The original port of GNU make to Windows did not have a job-server implementation. This meant that the –j option was basically ignored by windows GNU make when recursive makefiles were used. The only option was to use the Cygwin version of make. However, at some point the Cygwin make stopped supporting C:/ paths which meant that it could not be used to run the Microsoft compiler. I have a patched version of Cygwin’s make that can be found here:  (www.cmake.org/files/cygwin/make.exe )

Recently, someone implemented the job-server on Windows gmake as seen on this mailing list post:

http://mingw-users.1079350.n2.nabble.com/Updated-mingw32-make-3-82-90-cvs-20120823-td7578803.html

This means that a sufficiently new version of MinGW gmake will have the job server code and will build in parallel with CMake makefiles.

To build with gmake on windows, you will first want to make sure the make you are using has job-server support. Once you have done that, the instructions are pretty much the same as on Linux.  You will of course have to run cmake from a shell that has the correct environment for the Microsoft command line cl compiler to run. To get that environment you can run the Visual Studio command prompt. That command prompt basically sets a bunch of environment variables that let the compiler find system include files and libraries. Without the correct environment CMake will fail when it tests the compiler.

There are three CMake generators supporting three different flavors of GNU make on windows. They are MSYS Makefiles, Unix Makefiles and MinGW Makefiles. MSYS is setup to find the MSYS tool chain and not the MS compiler. MinGW finds the MinGW toolchain. Unix Makefiles will use the CC and CXX environment variables to find the compiler which you can set to cl for the MS compiler.

If you are using the Visual Studio cl compiler and want to use gmake, the two options are the “Unix Makefiles” or the “MinGW Makefiles” generators with either the patched Cygwin gmake, or a MinGW make new enough to have the job-server support. The MSYS generator will not work with the MS compiler because of path translation issues done by the shell. Once you have the environment setup for the compiler and the correct GNU make installed, you can follow the instructions found in the Linux section basically cmake, make –jN.

JOM

The legacy command line make tool that comes with Visual Studio is called nmake. nmake is a makefile processor like GNU make with a slight different syntax. However, it does not know how to do parallel builds. If the makefiles are setup to run cl with more than one source file at a time, the /MP flag can be used to run parallel builds with nmake. CMake does not create nmake makefiles that can benefit from /MP. Fortunately, Joerg Bornemann a Qt developer created the jom tool.

jom is a drop in replacement for nmake and is able to read and process nmake makefiles created by CMake. jom will perform object level parallelism, and is a good option for speeding up the builds on Windows. Jom can be downloaded in binary form from here: http://releases.qt-project.org/jom. There is a jom specific generator called “NMake Makefiles JOM”. Here is an example (assumes jom is in the PATH):

# assume your source code is in a directory called src and you are one directory up from there

mkdir build

cd  build

cmake –G” NMake Makefiles JOM” ../src

jom

 

ninja

ninja is used on Windows pretty much the same way it is used on Linux or OSX. You still have to build it which will require installing python. To obtain and build ninja see the Linux section on ninja. You will also need to make sure that you have the VS compiler environment setup correctly. Once you have ninja.exe in your PATH and cl ready to be used from your shell, you can run the CMake Ninja generator. Here is an example:

# assume your source code is in a directory called src and you are one directory up from there

mkdir build

cd  build

cmake –GNinja ../src

ninja

 

Conclusion

It is possible although not entirely obvious especially on Windows to build with all the cores of your computer. Multiprocessing is obviously here to stay, and performance gains will be greater if parallel builds are taken advantage as the number of core available increases. My laptop has 4 real cores and 4 more with hyperthreading with a total of 8 cores. Recently, I have been using ninja with good results as I mostly use emacs and the visual studio compiler from the command line. Prior to ninja I used the Cygwin version of gmake.  I would be interested to hear what other people are using and if you have performance tests of the various forms of build parallelism available.

Posted in Mixed | Tagged: , , , , , | Leave a Comment »

OpenCV Tutorials 1

Posted by Hemprasad Y. Badgujar on May 18, 2014


Image Watch: viewing in-memory images in the Visual Studio debugger

Image Watch is a plug-in for Microsoft Visual Studio that lets you to visualize in-memory images (cv::Mat or IplImage_ objects, for example) while debugging an application. This can be helpful for tracking down bugs, or for simply understanding what a given piece of code is doing.

Prerequisites

This tutorial assumes that you have the following available:

  1. Visual Studio 2012 Professional (or better) with Update 1 installed. Update 1 can be downloaded here.
  2. An OpenCV installation on your Windows machine (Tutorial: Installation in Windows).
  3. Ability to create and build OpenCV projects in Visual Studio (Tutorial: How to build applications with OpenCV inside the Microsoft Visual Studio).

Installation

Download the Image Watch installer. The installer comes in a single file with extension .vsix (Visual Studio Extension). To launch it, simply double-click on the .vsix file in Windows Explorer. When the installer has finished, make sure to restart Visual Studio to complete the installation.

Example

Image Watch works with any existing project that uses OpenCV image objects (for example, cv::Mat). In this example, we use a minimal test program that loads an image from a file and runs an edge detector. To build the program, create a console application project in Visual Studio, name it “image-watch-demo”, and insert the source code below.

// Test application for the Visual Studio Image Watch Debugger extension

#include <iostream>                        // std::cout
#include <opencv2/core/core.hpp>           // cv::Mat
#include <opencv2/highgui/highgui.hpp>     // cv::imread()
#include <opencv2/imgproc/imgproc.hpp>     // cv::Canny()

using namespace std;
using namespace cv;

void help()
{
    cout
        << "----------------------------------------------------" << endl
        << "This is a test program for the Image Watch Debugger " << endl
        << "plug-in for Visual Studio. The program loads an     " << endl
        << "image from a file and runs the Canny edge detector. " << endl
        << "No output is displayed or written to disk."
        << endl
        << "Usage:"                                               << endl
        << "image-watch-demo inputimage"                          << endl
        << "----------------------------------------------------" << endl
        << endl;
}

int main(int argc, char *argv[])
{
    help();

    if (argc != 2)
    {
        cout << "Wrong number of parameters" << endl;
        return -1;
    }

    cout << "Loading input image: " << argv[1] << endl;
    Mat input;
    input = imread(argv[1], CV_LOAD_IMAGE_COLOR);

    cout << "Detecting edges in input image" << endl;
    Mat edges;
    Canny(input, edges, 10, 100);

    return 0;
}

Make sure your active solution configuration (Build ‣ Configuration Manager) is set to a debug build (usually called “Debug”). This should disable compiler optimizations so that viewing variables in the debugger can work reliably.

Build your solution (Build ‣ Build Solution, or press F7).

Now set a breakpoint on the source line that says

Mat edges;

To set the breakpoint, right-click on the source line and select Breakpoints ‣ Insert Breakpoint from the context menu.

Launch the program in the debugger (Debug ‣ Start Debugging, or hit F5). When the breakpoint is hit, the program is paused and Visual Studio displays a yellow instruction pointer at the breakpoint:

../../../../_images/breakpoint.pngNow you can inspect the state of you program. For example, you can bring up the Locals window (Debug ‣ Windows ‣ Locals), which will show the names and values of the variables in the current scope:

../../../../_images/vs_locals.pngNote that the built-in Locals window will display text only. This is where the Image Watch plug-in comes in. Image Watch is like anotherLocals window, but with an image viewer built into it. To bring up Image Watch, select View ‣ Other Windows ‣ Image Watch. Like Visual Studio’s Locals window, Image Watch can dock to the Visual Studio IDE. Also, Visual Studio will remember whether you had Image Watch open, and where it was located between debugging sessions. This means you only have to do this once–the next time you start debugging, Image Watch will be back where you left it. Here’s what the docked Image Watch window looks like at our breakpoint:

../../../../_images/toolwindow.jpgThe radio button at the top left (Locals/Watch) selects what is shown in the Image List below: Locals lists all OpenCV image objects in the current scope (this list is automatically populated). Watch shows image expressions that have been pinned for continuous inspection (not described here, see Image Watch documentation for details). The image list shows basic information such as width, height, number of channels, and, if available, a thumbnail. In our example, the image list contains our two local image variables, input and edges.

If an image has a thumbnail, left-clicking on that image will select it for detailed viewing in the Image Viewer on the right. The viewer lets you pan (drag mouse) and zoom (mouse wheel). It also displays the pixel coordinate and value at the current mouse position.

../../../../_images/viewer.jpgNote that the second image in the list, edges, is shown as “invalid”. This indicates that some data members of this image object have corrupt or invalid values (for example, a negative image width). This is expected at this point in the program, since the C++ constructor for edges has not run yet, and so its members have undefined values (in debug mode they are usually filled with “0xCD” bytes).

From here you can single-step through your code (Debug->Step Over, or press F10) and watch the pixels change: if you step once, over the Mat edges; statement, the edges image will change from “invalid” to “empty”, which means that it is now in a valid state (default constructed), even though it has not been initialized yet (using cv::Mat::create(), for example). If you make one more step over thecv::Canny() call, you will see a thumbnail of the edge image appear in the image list.

Now assume you want to do a visual sanity check of the cv::Canny() implementation. Bring the edges image into the viewer by selecting it in the Image List and zoom into a region with a clearly defined edge:

../../../../_images/edges_zoom.pngRight-click on the Image Viewer to bring up the view context menu and enable Link Views (a check box next to the menu item indicates whether the option is enabled).

../../../../_images/viewer_context_menu.pngThe Link Views feature keeps the view region fixed when flipping between images of the same size. To see how this works, select the input image from the image list–you should now see the corresponding zoomed-in region in the input image:

../../../../_images/input_zoom.pngYou may also switch back and forth between viewing input and edges with your up/down cursor keys. That way you can easily verify that the detected edges line up nicely with the data in the input image.

More …

Image watch has a number of more advanced features, such as

  1. pinning images to a Watch list for inspection across scopes or between debugging sessions
  2. clamping, thresholding, or diff’ing images directly inside the Watch window
  3. comparing an in-memory image against a reference image from a file

Please refer to the online Image Watch Documentation for details–you also can get to the documentation page by clicking on the Helplink in the Image Watch window:

../../../../_images/help_button.jpg

Posted in Computer Vision, OpenCV, OpenCV Tutorial | Tagged: , | Leave a Comment »

Computer Vision Algorithm Implementations

Posted by Hemprasad Y. Badgujar on May 6, 2014


Participate in Reproducible Research

General Image Processing

OpenCV
(C/C++ code, BSD lic) Image manipulation, matrix manipulation, transforms
Torch3Vision
(C/C++ code, BSD lic) Basic image processing, matrix manipulation and feature extraction algorithms: rotation, flip, photometric normalisations (Histogram Equalization, Multiscale Retinex, Self-Quotient Image or Gross-Brajovic), edge detection, 2D DCT, 2D FFT, 2D Gabor, PCA to do Eigen-Faces, LDA to do Fisher-Faces. Various metrics (Euclidean, Mahanalobis, ChiSquare, NormalizeCorrelation, TangentDistance, …)
ImLab
(C/C++ code, MIT lic) A Free Experimental System for Image Processing (loading, transforms, filters, histogram, morphology, …)
CIMG
(C/C++ code, GPL and LGPL lic) CImg Library is an open source C++ toolkit for image processing
Generic Image Library (GIL)boost integration
(C/C++ code, MIT lic) Adobe open source C++ Generic Image Library (GIL)
SimpleCV a kinder, gentler machine vision library
(python code, MIT lic) SimpleCV is a Python interface to several powerful open source computer vision libraries in a single convenient package
PCL, The Point Cloud Library
(C/C++ code, BSD lic) The Point Cloud Library (or PCL) is a large scale, open project for point cloud processing. The PCL framework contains numerous state-of-the art algorithms including filtering, feature estimation, surface reconstruction, registration, model fitting and segmentation.
Population, imaging library in C++ for processing, analysing, modelling and visualising
(C/C++ code, CeCill lic) Population is an open-source imaging library in C++ for processing, analysing, modelling and visualising including more than 200 algorithms designed by V. Tariel.
qcv
(C/C++ code, LGPL 3) A computer vision framework based on Qt and OpenCV that provides an easy to use interface to display, analyze and run computer vision algorithms. The library is provided with multiple application examples including stereo, SURF, Sobel and and Hough transform.
Machine Vision Toolbox
(MATLAB/C, LGPL lic) image processing, segmentation, blob/line/point features, multiview geometry, camera models, colorimetry.
BoofCV
(Java code, Apache lic) BoofCV is an open source Java library for real-time computer vision and robotics applications. BoofCV is organized into several packages: image processing, features, geometric vision, calibration, visualize, and IO.
Simd
(C++ code, MIT lic) Simd is free open source library in C++. It includes high performance image processing algorithms. The algorithms are optimized with using of SIMD CPU extensions such as SSE2, SSSE3, SSE4.2 and AVX2.
Free but not open source – ArrayFire (formely LibJacket) is a matrix library for CUDA
(CUDA/C++, free lic) ArrayFire offers hundreds of general matrix and image processing functions, all running on the GPU. The syntax is very Matlab-like, with the goal of offering easy porting of Matlab code to C++/ArrayFire.

Image Acquisition, Decoding & encoding

FFMPEG
(C/C++ code, LGPL or GPL lic) Record, convert and stream audio and video (lot of codec)
OpenCV
(C/C++ code, BSD lic) PNG, JPEG,… images, avi video files, USB webcam,…
Torch3Vision
(C/C++ code, BSD lic) Video file decoding/encoding (ffmpeg integration), image capture from a frame grabber or from USB, Sony pan/tilt/zoom camera control using VISCA interface
lib VLC
(C/C++ code, GPL lic) Used by VLC player: record, convert and stream audio and video
Live555
(C/C++ code, LGPL lic) RTSP streams
ImageMagick
(C/C++ code, GPL lic) Loading & saving DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, PNG, Postscript, SVG, TIFF, and more
DevIL
(C/C++ code, LGPL lic) Loading & saving various image format
FreeImage
(C/C++ code, GPL & FPL lic) PNG, BMP, JPEG, TIFF loading
VideoMan
(C/C++ code, LGPL lic) VideoMan is trying to make the image capturing process from cameras, video files or image sequences easier.

Segmentation

OpenCV
(C/C++ code, BSD lic) Pyramid image segmentation
Branch-and-Mincut
(C/C++ code, Microsoft Research Lic) Branch-and-Mincut Algorithm for Image Segmentation
Efficiently solving multi-label MRFs (Readme)
(C/C++ code) Segmentation, object category labelling, stereo

Machine Learning

Torch
(C/C++ code, BSD lic) Gradient machines ( multi-layered perceptrons, radial basis functions, mixtures of experts, convolutional networks and even time-delay neural networks), Support vector machines, Ensemble models (bagging, adaboost), Non-parametric models (K-nearest-neighbors, Parzen regression and Parzen density estimator), distributions (Kmeans, Gaussian mixture models, hidden Markov models, input-output hidden Markov models, and Bayes classifier), speech recognition tools

Object Detection

OpenCV
(C/C++ code, BSD lic) Viola-jones face detection (Haar features)
Torch3Vision
(C/C++ code, BSD lic) MLP & cascade of Haar-like classifiers face detection
Hough Forests
(C/C++ code, Microsoft Research Lic) Class-Specific Hough Forests for Object Detection
Efficient Subwindow Object Detection
(C/C++ code, Apache Lic) Christoph Lampert “Efficient Subwindow” algorithms for Object Detection
INRIA Object Detection and Localization Toolkit
(C/C++ code, Custom Lic) Histograms of Oriented Gradients library for Object Detection

Object Category Labelling

Efficiently solving multi-label MRFs (Readme)
(C/C++ code) Segmentation, object category labelling, stereo
Multi-label optimization
(C/C++/MATLAB code) The gco-v3.0 library is for optimizing multi-label energies. It supports energies with any combination of unary, pairwise, and label cost terms.

Optical flow

OpenCV
(C/C++ code, BSD lic) Horn & Schunck algorithm, Lucas & Kanade algorithm, Lucas-Kanade optical flow in pyramids, block matching.
GPU-KLT+FLOW
(C/C++/OpenGL/Cg code, LGPL) Gain-Adaptive KLT Tracking and TV-L1 optical flow on the GPU.
RLOF
(C/C++/Matlab code, Custom Lic.) The RLOF library provides GPU / CPU implementation of Optical Flow and Feature Tracking method.

Features Extraction & Matching

SIFT by R. Hess
(C/C++ code, GPL lic) SIFT feature extraction & RANSAC matching
OpenSURF
(C/C++ code) SURF feature extraction algorihtm (kind of fast SIFT)
ASIFT (from IPOL)
(C/C++ code, Ecole Polytechnique and ENS Cachan for commercial Lic) Affine SIFT (ASIFT)
VLFeat (formely Sift++)
(C/C++ code) SIFT, MSER, k-means, hierarchical k-means, agglomerative information bottleneck, and quick shift
SiftGPU
A GPU Implementation of Scale Invariant Feature Transform (SIFT)
Groupsac
(C/C++ code, GPL lic) An enhance version of RANSAC that considers the correlation between data points

Nearest Neighbors matching

FLANN
(C/C++ code, BSD lic) Approximate Nearest Neighbors (Fast Approximate Nearest Neighbors with Automatic Algorithm Configuration)
ANN
(C/C++ code, LGPL lic) Approximate Nearest Neighbor Searching

Tracking

OpenCV
(C/C++ code, BSD lic) Kalman, Condensation, CAMSHIFT, Mean shift, Snakes
KLT: An Implementation of the Kanade-Lucas-Tomasi Feature Tracker
(C/C++ code, public domain) Kanade-Lucas-Tomasi Feature Tracker
GPU_KLT
(C/C++/OpenGL/Cg code, ) A GPU-based Implementation of the Kanade-Lucas-Tomasi Feature Tracker
GPU-KLT+FLOW
(C/C++/OpenGL/Cg code, LGPL) Gain-Adaptive KLT Tracking and TV-L1 optical flow on the GPU
On-line boosting trackers
(C/C++, LGPL) On-line boosting tracker, semi-supervised tracker, beyond semi-supervised tracker
Single Camera background subtraction tracking
(C/C++, LGPL) Background subtraction based tracking algorithm using OpenCV.
Multi-camera tracking
(C/C++, LGPL) Multi-camera particle filter tracking algorithm using OpenCv and intel IPP.

Simultaneous localization and mapping

Real-Time SLAM – SceneLib
(C/C++ code, LGPL lic) Real-time vision-based SLAM with a single camera
PTAM
(C/C++ code, Isis Innovation Limited lic) Parallel Tracking and Mapping for Small AR Workspaces
GTSAM
(C/C++ code, BSD lic) GTSAM is a library of C++ classes that implement smoothing and mapping (SAM) in robotics and vision, using factor graphs and Bayes networks as the underlying computing paradigm rather than sparse matrices

Camera Calibration & constraint

OpenCV
(C/C++ code, BSD lic) Chessboard calibration, calibration with rig or pattern
Geometric camera constraint – Minimal Problems in Computer Vision
Minimal problems in computer vision arise when computing geometrical models from image data. They often lead to solving systems of algebraic equations.
Camera Calibration Toolbox for Matlab
(Matlab toolbox) Camera Calibration Toolbox for Matlab by Jean-Yves Bouguet (C implementation in OpenCV)

Multi-View Reconstruction

Bundle Adjustment – SBA
(C/C++ code, GPL lic) A Generic Sparse Bundle Adjustment Package Based on the Levenberg-Marquardt Algorithm
Bundle Adjustment – SSBA
(C/C++ code, LGPL lic) Simple Sparse Bundle Adjustment (SSBA)

Stereo

Efficiently solving multi-label MRFs (Readme)
(C/C++ code) Segmentation, object category labelling, stereo
LIBELAS: Library for Efficient LArge-scale Stereo Matching
(C/C++ code) Disparity maps, stereo

Structure from motion

Bundler
(C/C++ code, GPL lic) A structure-from-motion system for unordered image collections
Patch-based Multi-view Stereo Software (Windows version)
(C/C++ code, GPL lic) A multi-view stereo software that takes a set of images and camera parameters, then reconstructs 3D structure of an object or a scene visible in the images
libmv – work in progress
(C/C++ code, MIT lic) A structure from motion library
Multicore Bundle Adjustment
(C/C++/GPU code, GPL3 lic) Design and implementation of new inexact Newton type Bundle Adjustment algorithms that exploit hardware parallelism for efficiently solving large scale 3D scene reconstruction problems.
openMVG
(C/C++/GPU code, MPL2 lic) OpenMVG (Multiple View Geometry) “open Multiple View Geometry” is a library for computer-vision scientists and especially targeted to the Multiple View Geometry community. It is designed to provide an easy access to the classical problem solvers in Multiple View Geometry and solve them accurately..

Visual odometry

LIBVISO2: Library for VISual Odometry 2
(C/C++ code, Matlab, GPL lic) Libviso 2 is a very fast cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of a moving mono/stereo camera.

Posted in Apps Development, C, Computer Hardware, Computer Network & Security, CUDA, Game Development, GPU (CUDA), GPU Accelareted, Graphics Cards, Image Processing, OpenCV, PARALLEL, Simulation, Virtualization | Tagged: , , , , , , , , , , , , , , , , , , , | 3 Comments »

Open source software, Applications and Tools

Posted by Hemprasad Y. Badgujar on January 21, 2014


Open source software is booming: here we round up over 480 open source applications for you to use or build upon.
 

—————————————————-

Accounting

 

    Adaptive Planning Express – An open source solution enabling medium sized companies to automate budgeting and forecasting by moving beyond traditional applications like Excel.

    Buddi – A simple budgeting program for users with no financial background.

    CheckItOut – A Ruby on Rails application to manage personal money accounts.

    FrontAccounting – A professional web-based accounting system for ERP chain; written in PHP with use of MySQL.

    GFP – A free java based personal finance manager with the ability to run on any operating system.

    GnuCash – Open source financial accounting software to manage personal and small business expenses and incomes.

    Gnumeric – A free spreadsheet program for the GNOME desktop providing several customization features and import/export facility from other spreadsheet programs.

    Grisbi – Grisbi is an open source personal finance manager developed to run on any platform and suit the needs of all users.

    jGnash – jGnash is an open source personal finance manager that will help you monitor and keep track of your accounts, including investments.

    KmyMoney – Easy to use, accurate open source personal finance manager built to suit the needs of non-technical users. It provides all the features available in a commercial application.

    Librepos – A multi-user POS application designed for touch screens, customer displays and barcode scanners.

    NOLA – An integrated, all-in-one package for an organization’s inventory, POS, accounting, contact management, billing etc.

    TurboCASH – Flexible small business accounting software fulfilling the major needs of any business.

    Content Management Systems

     

      80 + Open Source Content Management Systems – A complete roundup of Open Source CMSs from Mashable.

      CRM (Customer Relationship Management)

       

        Anteil – Cost effective open source solution for managing and improving customer relationships.

        CitrusDB – CitrusDB is a PHP & MySQL based open source customer database solution.

        CiviCRM – The world’s first downloadable constituent relationship management system; fund raising software that allows users to manage information about donors, volunteers etc.

        Compiere – Offers integrated ERP and CRM suite that enables users to automate the financial, distribution and other needs of their businesses.

        Daffodil CRM – Organized and effective way of managing cost-effective customer relationships.

        Hipergate – Serving developers, consultants and enterprises to assist them in project management, sales force automation and customer relationship management.

        IGSuite – A web-based integrated CRM suite that includes solutions like mailing lists, calendar, contact management and task lists.

        Keen CRM/ERP – An advanced, feature packed, comprehensive customer relationship management solution for small companies.

        Ohioedge CRM – Ohioedge CRM is an enterprise level open source CRM solution.

        OpenCRM – OpenCRM is an open source CRM solution for tracking clients and project management.

        OpenCRX – A cross platform professional CRM solution with bug tracking and activity management features.

        SellWinCRM – An open source CRM project giving a high level of customization for customers.

        SourceTap CRM – SourceTap CRM is a flexible sales force automation solution developed to meet the requirements of sales managers and representatives.

        SugarCRM – An open source CRM solution allowing users to track opportunities and manage existing customers while keeping a check on other activities.

        Turquoise CRM – Lightweight CRM software built over LAMP with Business Intelligence functionality.

        Tustena CRM – Tustena is an enterprise level open source CRM solution written in C#.

        vtiger CRM – Built over LAMP/WAMP, Vtiger provides excellent business enhancement utilities and is compatible with multiple platforms.

        XRMS CRM – XRMS is an advanced level open source CRM solution that includes a Business Intelligence suite and advanced plugin architecture.

        Desktop Environments/ Shell replacements

         

          bbLean – A new version of Blackbox for Windows.

          BlackBox For Windows – An alternative shell for Windows that is based stylistically on the Blackbox window manager for the X Window system.

          Blueberry 3D-Desktop – Made using Delphi; its main objective is a 3D OPENGL engine in replacement of the Windows desktop.

          CyGNOME – A nice tool which ports GNOME desktop to Windows.

          DM2 – Provides useful enhancements for Windows in daily work like minimizing windows to floating icons, freeing the taskbar etc.

          Geoshell – A shell replacement for Windows that replaces the standard desktop interface items like start menu, taskbar, system tray etc.

          KDE-Cygwin – KDE’s port in Windows desktop environment.

          LiteStep – A powerful Windows shell replacement under GPL and inspired by AfterStep.

          SharpEnvironment – A tool that enables users to personalize every pixel of visible space and customize a single theme in multiple ways with real-time wallpaper effects, icon sets etc.

          Virtual Dimension – A fast and fully featured virtual desktop manager that acts as an enhancement to the Windows manager.

          xoblite / Blackbox for Windows – An advanced level Blackbox for Windows that is integrated with a system bar.

          Email Clients

           

            Columba – A java based email client featuring a user friendly graphical interface.

            Daffodil Organizer – Highly flexible way to organize emails; includes import facility from Microsoft Outlook.

            Evolution – More popularly billed as the Outlook of Linux, its calendar, address book and other features make it a good option as an email client.

            ICEMail – Open source java client with support for the latest email standards.

            Mahogany – Cross platform email client supporting UNIX and Win32 platforms.

            Mutt – A small and powerful text based email client for UNIX operating systems.

            Penelope – The open source version of Eudora currently under beta and planned for full release by this year.

            Phoenix Mail – One of the older open source email clients developed using Borland Delphi.

            Sylpheed-Claws – An open source email client with an interface similar to Outlook Express; works as an RSS feed reader too.

            Thunderbird – A secure email client with several customization options to fit the user’s needs.

            Zimbra – Zimbra is currently one of the biggest names in open source, and is the future collaborating and messaging software. Now owned by Yahoo.

            Encoding, Conversion & Ripping Tools

             

              Alba Extractor – Alba Extractor is a useful utility for wrapping various mp3 files into one unit for ease of sharing on programs like NapShare etc.

              Audacity – Audacity is an open source, cross platform audio editor and is a good solution for creating and editing podcasts.

              Avidemux – A free video editor for tasks like cutting and filtering; has support for file types like AVI, DVD etc.

              AviSynth – A powerful tool for editing and processing videos.

              BonkEnc – A useful application for ripping CDs, encoding and converting audio files to various formats. Users can produce mp3, mp4, FLAC files to name a few.

              CD-DA X-Tractor – An open-source CD ripper for 32-bit windows platforms that offers extremely high quality.

              CDex – A popular open source digital audio CD extractor.

              DivFix – DivFix is a utility for watching partially downloaded DivX movies.

              DivXRepair – Based on the VirtualDub model, it cuts off the bad parts and re-assembles the AVI file.

              Dr. DivX – The goal of Dr. DivX open source project is to create a portable application with the capability of transcoding many video formats.

              DScaler – The DScaler project is an effort to receive top quality videos from Windows computers.

              DVD2AVIdg/MPEG2DECdg Decoding Fix – An MPEG decoder suite used for decoding MPEG1 or MPEG2 streams from sources such as DVD VOBs.

              DVDx – Popular DVD backup software that converts DVDx movies to high quality DVD movies.

              FFmpeg – A complete recording, conversion and streaming solution for audio and video.

              GiantDisc – GiantDisc is an open source software package designed to manage thousands of audio tracks.

              GNUMP3d – Open source server for streaming mp3s and media.

              Gordian Knot – Gordian Knot is an integrated Bit rate calculator package tool for Divx/XviD encoding.

              GramoFile – A CD recording utility running on Linux and some other operating systems like UNIX. It enables users to put sounds from gramophone records on CD.

              HGRip – A one click solution for converting DVD to XVID files.

              JMAC – JMAC is an open source Java implementation library of Monkey’s Audio compression decoder.

              LAME – LAME is an MP3 encoder.

              Mixere – Mixere is a free, open-source application for mixing audio files. It runs on Windows NT/2000/XP, and supports WAV, AIFF, MP3, Ogg Vorbis, FLAC and Mod audio files.

              MMConvert – A multimedia format converter useful for converting media files from one format like AVI/WMV to another format.

              mpgtx – A command line MPEG audio/video toolbox useful for joining audio and video files which include MP3, MPEG1, MPEG2 etc.

              Mp3splt – A terrific utility to split MP3 and Ogg files from anywhere without decoding.

              Mp3Wrap – A useful alternative to wrap two or more mp3 files into a single large mp3 without the loss of file names and other information.

              Musepack – A high quality audio compression format.

              MusicBrainz Tagger – Provides a database to create a comprehensive music information site. It can be accessed via the client or the internet.

              NanDub + BRC – NanDub+BRC includes a bitrate calculator and offers users several advantages as their need for opening separate pieces of software is eliminated.

              Open Sound World – A scalable programming environment allowing musicians, researchers and sound engineers to process sound.

              OptimFROG – OptimFROG is a zipping utility for audio compression programs; used to reduce the size of audio files.

              ShrinkTo5 – A cross platform open source DVD copy engine; allows users to create copies.

              SmartRipper – A useful utility for extracting DVD VOB files; loaded with nice features for splitting VOB files, angle processing etc.

              Taksi – Taksi allows users to take screenshots and record videos of favorite games and 3D-graphics applications.

              Virtual VCR – A compact video capture application designed to work with TV tuner and video capture cards.

              WavPack – WavPack is a high quality audio compression format and provides lossless compression.

              YAAI – One of the best tools to display information about AVI files; enables users to see data like framerate, used codes, author information etc.

              ERP

               

                ADempiere Bazaar – Adempiere is a community for open source developers contributing improvements of various applications like Compiere, Helpdesk and Supply Chain etc.

                JERPA – JERPA is a Java based advanced level architecture model for ERP software.

                JFire – An exchange platform including ERP, CRM and accounting written in Java.

                Openbravo ERP – A web based ERP for small and medium enterprises; built on proven MVC architecture facilitating code maintenance and customization.

                opentaps – An open source ERP and CRM suite including eCommerce, inventory, warehouse, ledger etc.

                Postbooks – A fully integrated ERP solution for small and medium businesses; features a graphical client which runs on Linux, Mac and Windows.

                Plazma – Plazma is a Java based ERP and CRM solution.

                Sequoia Open Source ERP – The flexible ERP software from Sequoia brings advanced features and scalability for enterprise software along with low TCO.

                Tiny ERP – Packed with features like GTK2 client, distributed server, dynamic GUI.

                Value – Value is an open source ERP/CRM system and features modular capabilities along with seamless integration.

                webERP – webERP is flexible integrated business management software that covers accounts receivable, accounts payable, inventory management and other accounting requirements.

                Wyatt – Wyatt is a cross platform ERP package written in Java with J2EE compliance.

                Filesharing & FTP

                 

                  ABC – An enhanced client for the BitTorrent file sharing protocol.

                  Ares – A file sharing utility enabling users to share digital files like images, audio, video, software and documents.

                  Azureus – Java enabled BitTorrent protocol packed with special features for beginners and advanced users.

                  BT++ – An advanced version of the BitTorrent peer-to-peer file sharing protocol with cross-platform support; written in Python.

                  Cabos – Cabos has an intuitive user interface and is a Gnutella file sharing program based on Limewire.

                  CoreFTP – A FTP program that enables uploading/downloading/deletion of files and directories, integration with browser, file permission handling etc.

                  cURL – A command line utility allowing file transfer via FTP, LDAP etc. Users can also use the GET and PUT methods for file downloading and uploading.

                  Cyberduck – An open source FTP client with support for drag and drop, uploading and downloading, remote file transfer etc.

                  DC++ – Windows based open source client for unrestricted file sharing over the internet.

                  eMule-Project.net – A reliable and trusted peer-to-peer file sharing application allowing users to connect from different clients.

                  FileZilla – FileZilla is a free, fast and reliable open source FTP solution for Windows.

                  Freenet Project – A free and secure decentralized network of information publishers and consumers.

                  FrostWire – A completely open source peer to peer client; features community chat room and iTunes integration.

                  Fugu – An open source graphical front end for secure file transfer; provides support for Mac operating system.

                  G3 Torrent – A BitTorent client written in Python.

                  Gnucleus – One of the oldest Windows based open source peer to peer file sharing clients related to Gnutella.

                  HeavyMole – An advanced level peer to peer file sharing application with features like distributed chat, filtering of answers and advanced query language.

                  iFTP – i.FTP is a Windows FTP client that comes with source code. There is also an earlier version for BeOS that works with portable media like USB keys.

                  JFtp – JFtp is a graphical Java network and file transfer client.

                  KazaaSearch – Search for music, software, images & video with this powerful peer to peer file sharing client.

                  KCeasy – The windows version of giFT filesharing system that also offers support for other filesharing networks.

                  Krimpy – An IRC based (internet relay chat) open source file sharing client enabling users to share music, pictures, videos and other files.

                  Lime Wire – A multi-platform Gnutella file sharing client enabling users to share their files, download MP3s and other audio files.

                  MLdonkey – 100% open source cross-platform P2P client running on Linux, UNIX, Windows and Mac.

                  MUTE – A secure, peer to peer file sharing network with easy search and download functionality.

                  MyNapster – Comes with connection capability to Gnutella for file sharing, IRC for chatting and supports resumption & multithreading of downloads.

                  NetMess – Has the ability to detect clones and work through HTTP proxy and firewalls.

                  Prozilla– An open source Linux download accelerator that provides download support via HTTP and FTP protocols.

                  Shareaza – A flexible file sharing system consolidating features from four different networks: EDonkey2000, Gnutella, BitTorrent, Gnutella2.

                  TAC2 – Expanded as Tango & Catch 2 (TAC2), works as a search engine independent client for searching on Linux and Windows.

                  TorrentSpy – Gives BitTorrent power-users all the information in one place along with real time ability to monitor the number of live users.

                  Waste – Secure collaboration tool allowing idea & data sharing between users through a chat interface.

                  WinSCP – Another open source SFTP & FTP client for Windows; provides safe file copying between local and remote computers.

                  XNap – Written in Java, XNap provides a plug-in enabled framework and client for P2P applications.

                  Graphics-Design & Modeling Tools

                   

                    Ajax Image Editor – Open source image editor using PHP.

                    ArgoUML – ArgoUML is a popular open source UML modeling tool compatible with any Java platform.

                    Avidemux – A simple video editor with support for DVD/DivX conversion and editing.

                    Blender – 3D animation and modeling suite with various tools for modeling.

                    Bluefish – A powerful editor for programmers and web designers enabling them to write websites, scripts and programming code.

                    BRL-CAD – An open source CAD system centered on constructive solid geometry (CSG) modelling.

                    Cinelerra – A professional open source video editing tool with features for capturing, editing and compositing.

                    CinePaint – Professional graphical editing application targeted towards the movie industry.

                    Cornice – Cross platform image viewer initially developed for Linux; similar in functionality to ACDSee.

                    Dia – Open source drawing tool for UML diagrams, similar in functionality to ‘Visio’.

                    Flowchart Studio – Allows the user to draw a flowchart through graphical editor.

                    F-Spot – A feature rich personal photo management application for GNOME desktops.

                    Gaphor – Simple modeling environment that enables users to create intuitive UML diagrams for documentation purposes.

                    Gimp – The oldest, and most famous, open source graphic application with over 100 plug-ins and powerful paint tools.

                    Gimpshop – Gimpshop changes menus and dialogs in a manner similar to its competitor, Photoshop.

                    GQview – A lightweight image viewer with easy navigation, zoom and thumbnail preview features.

                    i.Mage – i.Mage is a handy graphics editor featuring easy pixel & image editing.

                    ImageMagick – Allows for the creation, editing and composition of bitmap images.

                    imgSeek – imgSeek is a photo management and viewing application with search support.

                    Imgv – An open source, feature rich image viewer providing support for a variety of image formats.

                    Inkscape – An open source vector graphics editor similar in functionality to Illustrator. It provides support for all drawing features like any commercial product.

                    Inquisitor – A fast visual web picture ripper, downloader and offline browser.

                    Jahshaka – Powerful open source movie editor with real time media playback and visual effects.

                    Karbon – Part of the open source KOffice suite, makes a great choice as a vector drawing application.

                    Kino – An open source non-linear video editor that comes with easy importing of DV video and provides video and audio transition effects.

                    khtml2png – A command line utility for creating PNG and JPEG images out of web pages.

                    Krita – An open source image editing and painting program with advanced features.

                    KToon – 2D animation toolkit with focus towards animation industry.

                    NVU – A complete cross platform web authoring system which makes it very simple to create web pages and manage a website without any technical expertise.

                    OpenLaszlo – An excellent development environment for web applications as it can generate Macromedia and AJAX files for webpage use.

                    Paint.NET – .NET based open source bitmap application with an intuitive user interface for drawing and editing.

                    Page Scavenger – A simple Windows application useful for downloading images from free hosting services via webpage links.

                    Pixie – Open source RenderMan renderer.

                    Potrace – An open source project useful for converting bitmap images to raster or vector drawings.

                    QCad Community Edition – A simple, easy to use open source 2D CAD application.

                    Quanta Plus – A feature rich web development environment.

                    Seashore – A basic open source image editor with simple functionality and features.

                    Scribus – Open source cross-platform desktop publishing application.

                    Skencil – A flexible open source, interactive vector drawing application for illustrations, diagrams and other purposes.

                    Synfig – An open source 2d vector animation program for artists to assist them with making cartoons.

                    UFRaw – Unidentified Flying Raw is an open source photo converter that can be used as a standalone application or as a plug-in.

                    VirtualDub – An open source video capture and processing utility with basic features.

                    Violet – Violet is an easy to learn and use open source UML editor.

                    Xara Xtreme – Powerful, general purpose graphics application for Linux and other UNIX platforms.

                    Media Players

                     

                      AlsaPlayer – AlsaPlayer is a new type of PCM player for Linux/Unix featuring fully pluggable framework for various media types.

                      Amarok – Audio player for Linux.

                      Cog – Quite often referred to as a potential iTunes alternative; an interesting open source audio player with support for various formats.

                      Coolplayer – A fast audio player for the Win32 environment.

                      Delphamp – Delphi based open source media player. Like a Winamp clone, also features support for Winamp skins.

                      DigitalDJ – DigitalDJ is a front-end MP3 player based on SQL. It can create playlists and manage CD databases in MP3 format.

                      Foobar2000 – Advanced level Windows based audio player with support for Unicode and popular audio formats.

                      Gamp – Gamp is a Gnome audio player written in C and includes support for MP3, Ogg, vorbis etc.

                      Grip – Grip is a CD-player and ripper for the Gnome desktop, and features an automated front end for MP3 encoders.

                      Guliverkli – Its interface is similar to Windows media player, however it also offers advanced features like switching of audio streams in mp4 files.

                      HelixPlayer – An open source media player for various operating systems like Linux, Solaris and Symbian.

                      Juice – Juice is a premier podcast receiver and allows users to capture and receive podcasts anytime.

                      Media Player Classic – An advanced version of Windows Media Player 6.4; offers features like real time zoom, support for AVI subtitles and support for QuickTime and Real video.

                      Mixxx – An open source DJ mixing tool, very useful for professional and amateur DJs.

                      Miro – The only video player which provides you with the option to download YouTube videos, play video files and play live Internet TV.

                      MPlayer – Written in Python; one of the best media players under the GNU-GPL license.

                      MP3Gain – MP3Gain assists users by normalizing the volume of mp3 files; it also does statistical analysis to determine the loudness of a file to the human ear.

                      musikCube – MP3 player based on embedded SQL database engine and packed with innovative features.

                      NotifyCD – NotifyCD is a small system tray based CDDB supporting CD player for Windows 9x/NT/2000.

                      OggPlay – OggPlay is an open source audio player for smart phones.

                      Plainamp – Plainamp is an open source media player for Microsoft Windows.

                      SnackAmp – A music player running on multiple platforms; features a web server and powerful playlist.

                      Songbird – Songbird is a multi-utility open source application; acts as a desktop web player, a jukebox, and a web browser.

                      SysTrayPlay – Also known as STP, ths is a small MP3 player program with a grey button in the taskbar that occupies very little memory.

                      VLC media player – Highly portable cross platform multimedia player & streaming server with support for variety of audio and video formats.

                      Vorbis.com – Open source professional audio encoding and streaming technology.

                      XboxMediaPlayer – XboxMediaPlayer is an open source multimedia player from Microsoft useful for viewing various video/audio/picture files like VOB, AVI, MP3 etc.

                      xine – Xine is an open source multimedia player for playing CDs, DVDs and streaming multimedia over the internet.

                      Zinf – Powerful and effective audio player for Linux and Windows. Supports various file formats such as MP3, Ogg and WAV and also features a download manager and a music browser.

                      Messengers & Communication Clients

                       

                        Adium – Mac OS X open source instant messaging client that aggregates the popular IM networks.

                        aMSN – MSN Messenger’s open source clone for Linux users.

                        Ayttm – Ayttm is an instant messaging client with all-in-one chat functionality for major instant messaging services.

                        Coccinella – A Jabber client with integrated whiteboard features; includes features like file transfer, multi-user chat etc.

                        Kopete – Part of KDE desktop; a wonderful instant messaging application with voice and video capabilities.

                        Gaim – A very flexible instant messaging application compatible with Linux and Windows offering support for AIM, ICQ, MSN, Yahoo and others.

                        Ineen – Ineen is a feature loaded open source audio and video conferencing desktop tool.

                        IRSIM – Uses PHP and mySQL and provides interaction with multiple messaging clients.

                        Java Jabber Server – A nice open source Java implementation of Jabber instant messenger.

                        Kopete – Kopete is a flexible instant messenger and multi protocol system with support for AIM, Yahoo, IRC and MSN.

                        Licq – A C++ based multi-threaded ICQ clone; uses an extensive plug-in system.

                        MIMP – Mobile version of IMP; functionality includes mailbox viewing, message viewing, deletion or composition of new messages.

                        Miranda IM – Fast and handy multi-protocol messenger for Windows.

                        Openfire & Spark – Real time cross-platform IM client and server based on Jabber protocol.

                        Pidgin – Covers multiple protocols including AIM, ICQ, MSN, IRC, Jabber etc.

                        PlanetaMessenger.org – Java based open source instant messenger offering plug-in support for various IM networks.

                        Psi-im – An open source instant messaging client developed for Jabber. Has communication capabilities with AIM, MSN and ICQ etc.

                        SIM-IM (SIM Instant Messenger) – Free software package providing plug-in based messaging with support for various protocols.

                        Spark – Open source instant messenger with integrated support for group chat, telephony and security.

                        TjK – A portal based open source version of AOL Instant Messenger, originally developed for UNIX users.

                        Tkabber – Open source client for Jabber instant messaging and works on many platforms e.g. Linux, Windows and Mac etc.

                        WengoPhone – WengoPhone is a popular VOIP soft-phone client for making free PC-to-PC calls over the internet.

                        XChat – An IRC chat client for both Windows and Linux.

                        Yafumato Web Messenger – A web-based open source client allowing users to connect to AIM, Gtalk, MSN and Yahoo.

                        PDF drivers & Tools

                         

                          CC PDF Converter – Enables users to convert Word, Excel, IE and any other file formats to PDF.

                          Evince – Evince is a document viewer with support for multiple document formats including PDF.

                          Jarnal – Jarnal is an open-source application enabling annotation of a document.

                          okular – A universal document viewer based on KPDF for KDE.

                          PDFCreator – Create PDF files from just about any Windows utility.

                          PDF Download – A Firefox extension for improving your surfing experience. A click on a PDF file link enables you to view it inside or outside Firefox.

                          Pdftk – Pdftk is a command line utility allowing users to merge PDF documents, split PDF documents and do many other things.

                          qvPDF – Windows based PDF creator implemented as a printer driver.

                          Sumatra PDF – A simple and fast application to view PDF files.

                          Xpdf – An open source PDF viewer for the UNIX operating system. Also works under Windows as a command line tool.

                          Personal Information & Task Managers

                           

                          Chandler

                            Aethera – Aethera is a PIM application with communication features like send/receive email, send/receive tasks and appointment requests etc.

                            Chandler – Turns your inbox into a task list.

                            KAddressBook – An address book application for the K Desktop environment.

                            Kontact – Supports news, email, calendars, to-do list; a personal information manager for KDE.

                            KOrganizer – A personal organizer of the KDE desktop environment; has the ability to manage calendars and to do list.

                            Nag – Nag is a task list manager for multiple users and allows them to create many task lists which can be shared between users and groups.

                            OneOrZero – Easy to customize cross platform, enterprise level task management and help desk solution.

                            OpenSync – Open source synchronization framework for managing PIM data such as contacts, calendar, tasks and notes.

                            PTM – An open source time tracking tool.

                            Task Blocks – A simple task scheduling application to ensure that user tasks do not overlap.

                            Task Coach – Task Coach is an open source personal task manager providing features to deal with complex tasks.

                            TaskFreak – Simple web-based task manager written in PHP.

                            Total Text Container – An open source information manager; stores notes, passwords, images, calendar events etc.

                            Project Management

                             

                              Achievo – Easy to use and customize open source web-based project management application for business environments.

                              AgileTrack – Java based application for monitoring and tracking activities in a software development environment.

                              ASTS – A set of web based management tools for recording project activities and tasks.

                              Austin – A command line utility for manipulating project timelines in XML.

                              dotproject – Open source Project Management application developed and supported by a group of volunteers.

                              Double Choco Latte – A basic project management application used to track the history of work orders, projects, accounts etc.

                              eHour – User friendly web-based tool for keeping track of time based activities; ideal for consulting companies.

                              FreeMind – A mind mapping application useful for brainstorming sessions.

                              FUTURe – A time management application for individuals and groups.

                              Ganttproject – Written in Java, and using XML file format; enables project planning through a Gantt chart.

                              JIRA – JIRA is a project management & task achievement application for making team processes easy.

                              jxProject.com – Cross platform project management tool with sharing options.

                              IPM – A simple project management application built in PHP4 and requiring Apache 1.3x and MySQL.

                              Memoranda – For users handling multiple projects on a daily basis Memoranda is an ideal tool.

                              NetOffice – An online project management application for managing tasks, projects, team tracking and collaboration between teams.

                              Open Workbench – Excellent Windows-based application providing project scheduling functionality for enterprise users.

                              Planner – Project management tool for the Gnome desktop that is useful for project scheduling, planning and tracking.

                              phpCollab – An open-source internet-collaboration tool for project teams allowing them to share information amongst each other.

                              project-open – A web-based project management system for small consulting and service companies. Covers sales, project planning, collaboration and CRM.

                              Projectory – Projectory is an open source web based project management tool for tracking software projects through development phases.

                              Projman – A project management tool for reading project descriptions and their scheduled tasks.

                              Rapla – Highly configurable event and resource management application primarily targeted towards universities.

                              Taskjuggler – A powerful tool with redefined approach towards project planning activities, taking it far beyond the commonly available tools for Gantt charts.

                              Trac – Wiki and issue management system for software development projects.

                              TrackIt – An open source web based project tracking tool to maximize flexibility and customization.

                              TUTOS – Organization management tool for satisfying the requirements of small groups, teams and departments.

                              User Story .NET – A tool for extreme programming projects in user story tracking.

                              WebCollab – An easy to use collaborative project management system enabling users to work together.

                              WebPBC – Web-based project management tool for small businesses to do budget allocation of projects.

                              XPlanner – Another web-based project management tool for eXtreme programming (XP) software development practices.

                              Reporting Tools

                               

                                BIRT Project – An Eclipse-based reporting system.

                                DataVision – A reporting tool that works with any database and generates customized reports.

                                Jasper Reports – A leading open source reporting engine delivering rich screen content and printer into various file formats: PDF, HTML and XLS etc.

                                JERT – JavaEye Reporting Tool is a web-based database reporting tool with sharing features. It enables users to create flexible reports without any programming knowledge.

                                iReport – iReport is an easy to use visual report builder designed and written purely in Java.

                                openi.org – Pronounced as “open eye”, this is a web-based open source OLAP reporting tool enabling organizations of different sizes to manage and organize their data.

                                OpenSMART – Similar to Tivoli, a monitoring and data reporting tool for servers.

                                Pentaho – Open source business intelligence tool enabling organizations to operate more effectively by providing reporting, analysis, workflow capabilities.

                                Rapid – I – Offers all types of data mining services (from analysis to customization) helping customers to improve their profitability and efficiency.

                                SpagoBI – Focused business intelligence solution for the enterprise providing complete set of analytics (e.g. reporting, data mining, dashboards etc.)

                                xTuple – Open source SQL report writer compatible with Windows, Linux and Mac.

                                RSS

                                 

                                  Aggie – Aggie is a desktop based open-source news aggregator that downloads the latest news in a webpage.

                                  AmphetaDesk – A cross platform, open source news aggregator that downloads news items on the user’s desktop.

                                  BlogBridge – A powerful and flexible desktop based open source feed reader for Windows, Linux and Mac.

                                  BottomFeeder – RSS news aggregator client written in Smalltalk and compatible with Linux, Windows, Mac and Solaris.

                                  Gregarious – A web-based RSS/RDF/Atom feed reader designed for users to run on their own web server.

                                  JRssReader – A fast, Java based RSS & RDF reader; offers compatibility with multiple platforms.

                                  NewsFeed – Flexible RSS/RDF/Atom aggregator for different operating systems like Linux, MacOS and FreeBSD.

                                  NRss – an “open source Microsoft .NET Framework / Mono class library for reading a RSS feed into a tree of objects mapped to elements in the RSS feed.”

                                  RSSOwl – Java-based open source news reader.

                                  Syndirella – Syndirella is an open source desktop information aggregator providing a user friendly environment for reading information from multiple sources or feeds.

                                  ThinFeeder – Very powerful and tiny open source aggregator for RSS/Atom developed in Java language.

                                  System Utilities

                                   

                                    7-Zip – High-compression open source archive utility for Windows with support for 7z, ZIP, GZIP, TAR files etc.

                                    Amanda – Network backup solution.

                                    Bacula – Set of open source computer programs for managing network backup system for Linux/Unix, Mac and Windows clients.

                                    BiGZip – Free compression utility based in Java.

                                    Burn – An open-source CD and DVD burning application allowing users to create audio, data and video disks in different file formats.

                                    CamStudio – Open screen casting application allowing users to capture audio and video and store it later for playback.

                                    CDRDAO – Open-source tool with advanced features for recording audio or data CDs.

                                    coLinux – Cooperative Linux allows users to run Linux parallel to Windows on any machine.

                                    Cream – An open source text editor with interactive user interface, pull-down menus etc.

                                    G4U – Open source cross-platform hard disk image cloning application.

                                    GrenEye – A file slicing and compression utility.

                                    GNU zip – A compression utility.

                                    GParted – Fantastic open source partition manager with direct boot facility option from CD or USB.

                                    Handbrake – A multiplatform DVD to MPEG-4 converter/ripper with ability to process unencrypted and whole DVD files.

                                    InfraRecorder – A freeware CD/DVD burning application for Windows.

                                    Info-ZIP – Provides high quality, portable versions of zip files compatible with DOS.

                                    Inno Setup – Another open source installer for Windows applications with integrated Pascal scripting engine.

                                    InstallJammer – Useful for creating self-contained cross platform installation packages.

                                    jEdit – A cross platform open source text editor written in Java with consolidated features from major editors.

                                    Emacs – An extensible, customizable, self-documenting open source text editor.

                                    K3b – An open source application for creating/burning CDs and DVDs; packed with features like DVD encoding, copying and audio CD creation.

                                    Launch4j – An open source wrapper for jar files that supports Mac, Linux and Solaris.

                                    Nagios – An open source network monitoring service for hosts, networks and services which use plug-ins.

                                    NeDi – Open source network discovery, inventory & management framework utilizing scheduled discovery for network examination.

                                    Notepad++ – An open source alternative to Microsoft Notepad with features well suited to development and design.

                                    NSIS – A flexible open source tool for developing Windows installers.

                                    Open-source ARJ – A cross-platform open source implementation of the popular ARJ archiver.

                                    OpenNMS – A network management platform for monitoring services and their hosts.

                                    OpenVZ – A terrific alternative to any commercial visualization offering; offered only on Linux.

                                    Pandora FMS – Complete network and node monitoring solution composed of three parts: agents, server and console.

                                    Partition Image – Disk cloning Linux utility helping users to create an image of partitions. The image file can be compressed, split and it is compatible with Linux and Windows.

                                    SciTE – An open source text editor enabling developers to edit code.

                                    UPX – A high-performance packaging utility with a high compression ratio for different executable formats.

                                    VirtualBox – A high performance, feature rich, open source visualisation product for enterprise as well as home use.

                                    Wireshark – Top quality network protocol analyser enabling users to capture LAN packets.

                                    Xen – A high performance open source enterprise visualisation solution.

                                    Xming – X-Windows server for Windows; has all the features of a commercial product.

                                    Xvidcap – Linux based screencast application allowing users to capture portions or the entire screen of a Linux desktop.

                                    Zenoss – A top class network and system monitoring solution with all the features of a commercial monitoring system.

                                    Zzip – A compression tool with the ability to compress files with a high compression ratio.

                                    Office

                                     

                                      AbiWord – Has an interface that is very similar to Microsoft Word for easy migration; also allows importing and exporting from Microsoft Word.

                                      Agnubis – The PowerPoint of GNOME; comes with easy integration options with other packages in GNOME office suite.

                                      Andrew User Interface System (Andrew) – A popular graphical user interface system integrated with word processor, an html editor and browser.

                                      AxPoint – Presentation tools from the developers of Apache AxKit.

                                      Bruce – Presentation tool for Python programmers allowing them to code and create interactive PowerPoint sessions.

                                      Imposter – Imposter is a standalone viewer for viewing presentations created by Impress software.

                                      Impress – Fantastic tool for creating multimedia presentations with 2D and 3D effects.

                                      Kivio – A part of KOffice suite; helps users in flowcharting, network diagrams and other graphics needs.

                                      KPresenter – The presentation package bundled with KDE project; powerful and fully featured.

                                      KWord – A word processor with a frame-based layout capability; part of the open source office suite KOffice.

                                      MagicPoint – A presentation tool based on X11; very useful for making simple presentations which can be easily edited by any text editor.

                                      NeoOffice – A special version of OpenOffice for the Mac.

                                      S5 – A simple slideshow system having easily accessible markup. It can easily adapt to user themes and enables you to create your own slideshow themes.

                                      WebHuddle – An open-source web conferencing and presentation tool with support for VOIP, chat and PowerPoint.

                                      Web Browsers

                                       

                                        Browser3D – An interactive web browser enabling users to interact with a real 3D environment and add their own 3D environment.

                                        Camino – The functionality and features of this powerful browser match the capabilities of Safari.

                                        CxBrowser – A useful open source web browser implemented under Mozilla Activex control component and written entirely in C#.

                                        Epiphany – Developed for the GNOME computer desktop; competes with KDE for Linux.

                                        Galeon – The first web browser for GNOME computer desktop; now comes as an extension to Epiphany.

                                        K-Meleon – Perfect web-browser for operating systems which are incompatible with Mozilla or Firefox suite of browsers.

                                        Konqueror – Part of the K Desktop Environment (KDE); a great browser for Linux with similar features to Firefox.

                                        Lynx – Cross platform browser compatible with UNIX, Windows and Mac.

                                        Mozilla Firefox – Fast, powerful and secure web browser compatible with Linux and Windows.

                                        Posted in Entertainment, Linux OS, Linux OS, Mixed, Operating Systems, Other | Tagged: , , , , , | 3 Comments »

                                         
                                        Extracts from a Personal Diary

                                        dedicated to the life of a silent girl who eventually learnt to open up

                                        Num3ri v 2.0

                                        I miei numeri - seconda versione

                                        ThuyDX

                                        Just another WordPress.com site

                                        Algunos Intereses de Abraham Zamudio Chauca

                                        Matematica, Linux , Programacion Serial , Programacion Paralela (CPU - GPU) , Cluster de Computadores , Software Cientifico

                                        josephdung

                                        thoughts...

                                        Tech_Raj

                                        A great WordPress.com site

                                        Travel tips

                                        Travel tips

                                        Experience the real life.....!!!

                                        Shurwaat achi honi chahiye ...

                                        Ronzii's Blog

                                        Just your average geek's blog

                                        Karan Jitendra Thakkar

                                        Everything I think. Everything I do. Right here.

                                        VentureBeat

                                        News About Tech, Money and Innovation

                                        Chetan Solanki

                                        Helpful to u, if u need it.....

                                        ScreenCrush

                                        Explorer of Research #HEMBAD

                                        managedCUDA

                                        Explorer of Research #HEMBAD

                                        siddheshsathe

                                        A great WordPress.com site

                                        Ari's

                                        This is My Space so Dont Mess With IT !!

                                        %d bloggers like this: