Algorithms for Image Processing and Computer Vision
eBook - ePub

Algorithms for Image Processing and Computer Vision

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Algorithms for Image Processing and Computer Vision

Book details
Book preview
Table of contents
Citations

About This Book

A cookbook of algorithms for common image processing applications

Thanks to advances in computer hardware and software, algorithms have been developed that support sophisticated image processing without requiring an extensive background in mathematics. This bestselling book has been fully updated with the newest of these, including 2D vision methods in content-based searches and the use of graphics cards as image processing computational aids. It's an ideal reference for software engineers and developers, advanced programmers, graphics programmers, scientists, and other specialists who require highly specialized image processing.

  • Algorithms now exist for a wide variety of sophisticated image processing applications required by software engineers and developers, advanced programmers, graphics programmers, scientists, and related specialists
  • This bestselling book has been completely updated to include the latest algorithms, including 2D vision methods in content-based searches, details on modern classifier methods, and graphics cards used as image processing computational aids
  • Saves hours of mathematical calculating by using distributed processing and GPU programming, and gives non-mathematicians the shortcuts needed to program relatively sophisticated applications.

Algorithms for Image Processing and Computer Vision, 2nd Edition provides the tools to speed development of image processing applications.

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Algorithms for Image Processing and Computer Vision by J. R. Parker in PDF and/or ePUB format, as well as other popular books in Computer Science & Programming Games. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Wiley
Year
2010
ISBN
9781118021880
Edition
2
Chapter 1
Practical Aspects of a Vision System—Image Display, Input/Output, and Library Calls
When experimenting with vision- and image-analysis systems or implementing one for a practical purpose, a basic software infrastructure is essential. Images consist of pixels, and in a typical image from a digital camera there will be 4–6 million pixels, each representing the color at a point in the image. This large amount of data is stored as a file in a format (such as GIF or JPEG) suitable for manipulation by commercial software packages, such as Photoshop and Paint. Developing new image-analysis software means first being able to read these files into an internal form that allows access to the pixel values. There is nothing exciting about code that does this, and it does not involve any actual image processing, but it is an essential first step. Similarly, image-analysis software will need to display images on the screen and save them in standard formats. It's probably useful to have a facility for image capture available, too. None of these operations modify an image but simply move it about in useful ways.
These bookkeeping tasks can require most of the code involved in an imaging program. The procedure for changing all red pixels to yellow, for example, can contain as few as 10 lines of code; yet, the program needed to read the image, display it, and output of the result may require an additional 2,000 lines of code, or even more.
Of course, this infrastructure code (which can be thought of as an application programming interface, or API) can be used for all applications; so, once it is developed, the API can be used without change until updates are required. Changes in the operating system, in underlying libraries, or in additional functionalities can require new versions of the API. If properly done, these new versions will require little or no modification to the vision programs that depend on it. Such an API is the OpenCV system.
1.1 OpenCV
OpenCV was originally developed by Intel. At the time of this writing, version 2.0 is current and can be downloaded from http://sourceforge.net/projects/opencvlibrary/.
However, Version 2.0 is relatively new, yet it does not install and compile with all of the major systems and compilers. All the examples in this book use Version 1.1 from http://sourceforge.net/projects/opencvlibrary/files/opencv-win/1.1pre1/OpenCV_1.1pre1a.exe/download, and compile with the Microsoft Visual C++ 2008 Express Edition, which can be downloaded from www.microsoft.com/express/Downloads/#2008-Visual-CPP.
The Algorithms for Image Processing and Computer Vision website (www.wiley.com/go/jrparker) will maintain current links to new versions of these tools. The website shows how to install both the compiler and OpenCV. The advantage of using this combination of tools is that they are still pretty current, they work, and they are free.
1.2 The Basic OpenCV Code
OpenCV is a library of C functions that implement both infrastructure operations and image-processing and vision functions. Developers can, of course, add their own functions into the mix. Thus, any of the code described here can be invoked from a program that uses the OpenCV paradigm, meaning that the methods of this book are available in addition to those of OpenCV. One simply needs to know how to call the library, and what the basic data structures of open CV are.
OpenCV is a large and complex library. To assist everyone in starting to use it, the following is a basic program that can be modified to do almost anything that anyone would want:
// basic.c : A ‘wrapper’ for basic vision programs.
#include “stdafx.h”
#include “cv.h”
#include “highgui.h”
int main (int argc, char* argv[])
{
IplImage *image = 0;
image = cvLoadImage(“C:\AIPCV\image1.jpg”, 1 );
if( image )
{
cvNamedWindow( “Input Image”, 1 );
cvShowImage( “Input Image”, image );
printf( “Press a key to exit\n”);
cvWaitKey(0);
cvDestroyWindow(“String”);
}
else
fprintf( stderr, “Error reading image\n” );
return 0;
}
This is similar to many example programs on the Internet. It reads in an image (C:\AIPCV\image1.jpg is a string giving the path name of the image) and displays it in a window on the screen. When the user presses a key, the program terminates after destroying the display window.
Before anyone can modify this code in a knowledgeable way, the data structures and functions need to be explained.
1.2.1 The IplImage Data Structure
The IplImage structure is the in-memory data organization for an image. Images in IplImage form can be converted into arrays of pixels, but IplImage also contains a lot of structural information about the image data, which can have many forms. For example, an image read from a GIF file could be 256 gre...

Table of contents

  1. Cover
  2. Title Page
  3. Copyright
  4. Dedication
  5. Credits
  6. About the Author
  7. About the Technical Editor
  8. Acknowledgments
  9. Preface
  10. Chapter 1 Practical Aspects of a Vision System—Image Display, Input/Output, and Library Calls
  11. Chapter 2 Edge-Detection Techniques
  12. Chapter 3 Digital Morphology
  13. Chapter 4 Grey-Level Segmentation
  14. Chapter 5 Texture and Color
  15. Chapter 6 Thinning
  16. Chapter 7 Image Restoration
  17. Chapter 8 Classification
  18. Chapter 9 Symbol Recognition
  19. Chapter 10 Content-Based Search—Finding Images by Example
  20. Chapter 11 High-Performance Computing for Vision and Image Processing
  21. Index