Introduction
Introduction and Definitions
This chapter contains information about some fundamental things you may find useful before we get started. The Introduction deals with more details about the book's structure, hardware, software, and network requirements and recommendations. In the Definitions section some terms, which are used later in this book, are defined. An introduction to IMAQ Vision Builder completes the chapter.
Electronic image processing is a rapidly evolving technology. Because of the decreasing prices of digital cameras , image processing and analysis applications are within a price category that was reserved for cheap sensor and measurement arrangements only a few years ago. Using a camera as a "universal sensor" and the appropriate image processing and analysis software, the applications are
On the other hand, these applications have to compete with the human vision system; sometimes, this is easy competition and sometimes not. For example, consider teaching a two-year-old child the definition of a car (which in most cases is one of the first words a child can say). After a few days, your child can recognize not only cars , but also trucks , vans, pickups, and a lot more. Next , try this with a computer vision system. With current technology, you will find it almost impossible . The great advantages of image vision systems can be seen, for example, in automation and inspection applications. In a failure mode and effective analysis (FMEA), which is a quality tool for the location and quantification of possible product failures, human visual inspection in a production process will always get a 10 on a scale from 1 to 10; that means that human visual inspection gives the highest risk for product faults. Every machine or computer vision system is more reliable than the human eye. This is what we have to deal with; not the reliability, but definitions: what to measure; how to measure, count, and analyze which kind of objects; what to recognize; and so on. You will find that intelligent software can cover a lot of the problems mentioned above, yet not all. Structure of This Book When I was first confronted with image processing, I found out that I knew very little about some essential things: first of all, how images are generated. I therefore included a chapter called "Image Generation," which explains some fundamentals about cameras, frame grabber cards, and other imaging devices, especially medical devices. The next problem was this: how do images get from A to B fast enough for the imaging application and how are they stored in B? (Mostly, A refers to a camera or an imaging device, and B is a computer or a single hard drive.) The chapter "Image Distribution," starting at page 79, deals a little bit with the things between A and B ” the most common bus systems and protocols for imaging applications. You will find these four chapters in this book (excluding this one):
I talk about the difference between image processing and image analysis later in this chapter. In this first chapter I give some fundamental definitions; if you are familiar with them, you can start at chapter two. On the other hand, it is satisfying for an author if professionals read his book and find something interesting in every chapter. Moreover, I list the hardware and software configuration of our laboratory, with which I created the exercises in this book. If you are a computer expert, you will not need this information, and you can skip this part as well. What you will need for further understanding of this book, is fundamental knowledge of LabVIEW programming (that means, programming in "G"). LabVIEW is a programming environment, developed by the company National Instruments (Austin, Texas). You should know how to do the following tasks :
Most of the examples are "drawn" in LabVIEW's graphical programming language, G. G is a data flow language, which also shows some structure chart elements. It should be possible, therefore, even for untrained programmers, to follow the signal and data flow of the programs. You can obtain detailed help regarding programming in G in these publications :
Finally, this chapter contains a short introduction to IMAQ Vision Builder, a program that might not be so well known. Vision Builder helps you develop your own image processing and analysis tasks; but the usefulness of this program cannot be described in one sentence , so please , try it yourself. Thanks to National Instruments for this great piece of software! Software and Hardware Requirements Software and Utilities You will need the following National Instruments software packages for the completion of the exercises in the five chapters of this book; listed below are the programs that are absolutely necessary:
Unfortunately, there is no evaluation version of IMAQ Vision; only a multimedia demo (which you can find on the attached CD-ROM or download from www.ni.com). You can download an evaluation version of LabVIEW from www.ni.com as well. The next list contains recommended packages from National Instruments; you will not need them to complete the exercises, but they are useful (especially NI Vision Builder for Automated Inspection, because there is an evaluation version available on the attached CD-ROM):
Please do not confuse IMAQ Vision (a toolbox for image processing and analysis tasks) with NI-IMAQ, which contains the drivers for imaging hardware and simple functions for managing and displaying images. NI-IMAQ is part of every common LabVIEW installation. Complicated, isn't it? Table 1.1 summarizes the packages and provides information about evaluation versions, demo versions, and the software on the attached CD-ROM. As mentioned above, you can download any NI demo or evaluation from www.ni.com. An introduction to IMAQ Vision Builder and NI Vision Builder AI is part of this chapter and starts at page 15. If you do not have IMAQ Vision Builder, it is just more difficult for you to generate the VIs; the Vision Builder does not provide more functionality! IMAQ for 1394 enables you to use 1394 (FireWire digital cameras in your hardware configuration, even within a 1394 network, as described in the following section. (You can find more information about IMAQ for 1394 in [6].) Table 1.1. Summary of Discussed National Instruments' Software Packages
Finally, here is a list of useful software tools that may help you understand some of the exercises. Most of them are freeware, and you can download them from the links section of the attached CD-ROM.
Hardware Configuration Because of the many different (and possible) PC configurations, it is impossible to give a working guarantee for a specific setup, but here is the configuration we use in our lab. [1] [1] Our lab is located at the Carinthia Tech Institute, University of Applied Sciences, School for MedIT, Carinthia, Austria. We run the image processing software I described above on Compaq Deskpro Midi-Tower PCs (PIII/1 GHz). The fully equipped laboratory contains eight of them, so the maximum number of students that can work there at the same time is 16. These PCs are equipped with different PCI extension cards, which have been selected for various tasks and enable the use of various additional devices. Table 1.2 gives an overview. Table 1.2. Possible Hardware Extensions for Image Processing PCs
Additional Image Sources To cover the medical part, we included some diagnostic imaging devices in our lab; we use images of them in some of the exercises later in Chapter 4 and 5, and we have equipped some workplaces with visual presenters:
We use the visual presenters because they are a convenient system consisting of a color camera, a rack, and two adjustable light sources, which are sufficient for a number of imaging applications (see Figure 1.2). Moreover, zoom and focus of the camera can be controlled over the built-in RS-232 interface, which makes the visual presenter ideal for the development of our own autofocus algorithms, as in the respective section of Chapter 5. Network Configuration As can be seen in Table 1.2, every PC is equipped with an IEEE 1394 OHCI card. This enables not only the use of IEEE 1394 cameras, but also the network connection through IEEE 1394. You can find more information about this bus system in Chapter 3. Figure 1.3 shows an example for a network using IEEE 1394 for connecting the PCs among each other as well as for connecting digital 1394 cameras. Figure 1.3. Network Structure with Simultaneous Use of Ethernet and IEEE 1394 The network connection through IEEE 1394 has the following advantages:
|