CVIPtools

From Infogalactic: the planetary knowledge core
Jump to: navigation, search


CVIPtools
Original author(s) Scott E. Umbaugh
Stable release 5.5d / 2014 (2014)
Operating system Windows
Website cviptools.siue.edu

CVIPtools (Computer Vision and Image Processing Tools) is an Open Source image processing software.[1] It is free for use with Windows, and previous versions are available for UNIX. It is an interactive program for image processing and computer vision.[2][3]

File:CVIPtoolsfrontpage.png
Running the CVIPtools

About CVIPtools

CVIPtools is a Windows-based software (previous versions for various flavors of UNIX are also available) for computer vision and image processing developed at the Computer Vision and Image Processing Laboratory at Southern Illinois University at Edwardsville.[4] CVIPtools 5.5d is implemented in four layers: the algorithms code layer, the Common Object Module (COM) interface layer, the CvipOp layer, and the Graphical user interface (GUI). The algorithms code layer is based primarily on previous versions of CVIPtools, consists of all image and data-processing procedures and functions, and is written in standard C. The COM interface layer is written in C++ and links the CVIPtools C functions to the GUI through the CVIPimage Class. The CvipOp layer provides an object-oriented paradigm by using the Class CVIPimage to consolidate data safety and memory management. The GUI layer, written in C#, implements the image queue, viewer, and manages user input and output. For development, CVIPtools5.x includes the CVIPlab environment and the CVIPtools libraries. In addition to the standard C libraries, a dynamically linked library (cviptools.dll) is provided that contains all the COM versions of these functions.

Features

CVIPtools can read many image formats including TIFF, PNG, GIF, JPEG, BMP, as well as raw formats. CVIPtools supports standard image processing functions such as image compression, image restoration, logical and arithmetical operations between images, contrast manipulation, image sharpening, Frequency transform, edge detection, segmentation and geometric transformations.[5]

CVIPtools5.x also contains two powerful development tools that allow for batch processing and automatic algorithm analysis and development. The CVIP-ATAT, Algorithm Test and Analysis Tool, can be used to test all combinations and values of parameters to speed front-end algorithm development. The CVIP-FEPC, Feature Extraction and Pattern Classification, will allow for batch processing and test all combinations of features and pattern classification techniques. These are described in more detail, along with application examples, in the new edition of the textbook Digital Image Processing and Analysis: Human and Computer Vision Applications with CVIPtools, Second Edition.[6][7]

CVIP-ATAT

The Computer Vision and Image Processing Algorithm Test and Analysis Tool, CVIP-ATAT, was created to facilitate the development of both human and computer vision applications. The primary function of this tool is to allow the user to explore many more algorithmic possibilities than can be considered by processing one image at a time with CVIPtools. It allows for the automatic processing of large image sets with many different algorithmic and parameter variations. We call this the “front-end” tool because its primary purpose is to find the best algorithm to preprocess, segment and post-process a set of images for a particular application in order to best separate the most important regions of interest within the image.

It has a GUI which allows the user to enter multi-stage algorithms for testing and analysis. At each stage the user can specify a number of different processes to test and a range for the processes’ parameters. The user also specifies a set of images to process and a set of “ideal” output images which will be used to determine the success for each algorithm. Note that one algorithm is defined as a specific set of processes and a specific set of parameter values.

The tool will then automatically perform algorithms which consist of all the permutations of the values for each of the parameters for each process and all the processes for each stage. Next, the user can compare the various algorithm results to determine the best set of processes and parameters for the particular application. The tool is useful for application development where the ideal image results are available, or can be created. Additionally, it can serve as a front end development tool for image analysis to find the optimal set of processes and parameters for extracting regions of interest for further processing.

CVIP-FEPC

The Computer Vision and Image Processing Feature Extraction and Pattern Classification Tool, CVIP-FEPC, was created to facilitate the development of both human and computer vision applications. The primary application area is computer vision, but it can be used, for example, as an aid in the development of image compression schemes for human vision applications. This can be done by helping to determine salient image features that must be retained for a given compression scheme. Conversely, computer vision applications are essentially deployed image analysis systems for a specific application, so the feature extraction and pattern classification is an integral part of all computer vision systems.

The primary function of this tool is to explore feature extraction and pattern classification and allow the user to perform batch processing with large image sets and is thus much more efficient than processing one image at a time with CVIPtools. It allows the user to select the features and pattern classification parameters for the automatic processing of these large image sets. CVIP-FEPC enables the user to easily specify the training and test sets and run multiple experiments in an efficient manner. Its primary purpose is to find the best parameters for a particular application in order to best classify the image objects of interest.

This tool is designed to work with a set of images that have binary masks that have been created for the objects of interest – one object per image. These masks can be created manually with CVIPtools, or, many image database applications will have the masks available. In general, the user will load the images, specify the classes, select the features, select the test set, choose the pattern classification parameters and then let the program process the entire image set. An output file will be created with the results for the experiment.

References