ISBN-13: 9781447111290 / Angielski / Miękka / 2012 / 422 str.
ISBN-13: 9781447111290 / Angielski / Miękka / 2012 / 422 str.
A number of important aspects of intelligent machine vision in one volume, describing the state of the art and current developments in the field, including: fundamentals of 'intelligent'image processing for machine vision systems; algorithm optimisation; implementation in high-speed electronic digital hardware; implementation in an integrated high-level software environment and applications for industrial product quality and process control. Backed by numerous illustrations, created using the authors IP software, this book will be of interest to researchers in the field of machine vision wishing to understand the discipline and develop new techniques. Also useful for under- and postgraduates.
1 Machine vision for industrial applications.- 1.1 Natural and artificial vision.- 1.2 Artificial vision.- 1.3 Machine Vision is not Computer Vision.- 1.3.1 Applications.- 1.3.2 Does it matter what we call the subject?.- 1.4 Four case studies.- 1.4.1 Doomed to failure.- 1.4.2 A successful design.- 1.4.3 Moldy nuts.- 1.4.4 A system that grew and grew.- 1.5 Machine Vision is engineering, not science.- 1.6 Structure, design, and use of machine vision systems.- 1.6.1 Using an IVS for problem analysis.- 1.6.2 Structure of an IVS.- 1.6.3 Other uses for an IVS.- 1.7 Other design tools.- 1.7.1 Lighting Advisor.- 1.7.2 Prototyping kits for image acquisition.- 1.8 Outline of this book.- 2 Basic machine vision techniques.- 2.1 Representations of images.- 2.2 Elementary image-processing functions.- 2.2.1 Monadic pixel-by-pixel operators.- 2.2.2 Dyadic pixel-by-pixel operators.- 2.2.3 Local operators.- 2.2.4 Linear local operators.- 2.2.5 Nonlinear local operators.- 2.2.6 N-tupIe operators.- 2.2.7 Edge effects.- 2.2.8 Intensity histogram [hpi, hgi, hge, hgc].- 2.3 Binary images.- 2.3.1 Measurements on binary images.- 2.3.2 Shape descriptors.- 2.4 Binary mathematical morphology.- 2.4.1 Opening and closing operations.- 2.4.2 Structuring element decomposition.- 2.5 Grey-scale morphology.- 2.6 Global image transforms.- 2.6.1 Hough transform.- 2.6.2 Two-dimensional discrete Fourier transform.- 2.7 Texture analysis.- 2.7.1 Statistical approaches.- 2.7.2 Co-occurrence matrix approach.- 2.7.3 Structural approaches.- 2.7.4 Morphological texture analysis.- 2.8 Further remarks.- 3 Algorithms, approximations, and heuristics.- 3.1 Introduction.- 3.1.1 One algorithm, many implementations.- 3.1.2 Do not judge an algorithm by its accuracy alone.- 3.1.3 Reformulating algorithms to make implementation easier.- 3.1.4 Use heuristics in lieu of algorithms.- 3.1.5 Heuristics may actually be algorithmic.- 3.1.6 Primary and secondary goals.- 3.1.7 Emotional objections to heuristics.- 3.1.8 Heuristics used to guide algorithms.- 3.1.9 Heuristics may cope with a wider range of situations.- 3.2 Changing image representation.- 3.2.1 Converting image format.- 3.2.2 Processing a binary image as a grey-scale image.- 3.2.3 Using images as lookup tables.- 3.3 Redefining algorithms.- 3.3.1 Convolution operations.- 3.3.2 More on decomposition and iterated operations.- 3.3.3 Separated Kernel Image Processing using finite-State Machines.- 3.3.4 Binary image coding.- 3.3.5 Blob connectivity analysis.- 3.3.6 Convex hull.- 3.3.7 Edge smoothing.- 3.3.8 Techniques based on histograms.- 3.4 Approximate and heuristic methods.- 3.4.1 Measuring distance.- 3.4.2 Fitting circles and polygons to a binary object.- 3.4.3 Determining object/feature orientation.- 3.5 Additional remarks.- 3.5.1 Solving the right problem.- 3.5.2 Democracy: no small subset of operators dominates.- 3.5.3 Lessons of this chapter.- 4 Systems engineering.- 4.1 Interactive and target vision systems.- 4.2 Interactive vision systems, general principles.- 4.2.1 Speed of operation.- 4.2.2 Communication between an IVS and its user.- 4.2.3 Image and text displays.- 4.2.4 Command-line interfaces.- 4.2.5 How many images do we need to store in RAM?.- 4.2.6 How many images do we need to display?.- 4.3 Prolog image processing (PIP).- 4.3.1 Basic command structure.- 4.3.2 Dialog box.- 4.3.3 Pull-down menus.- 4.3.4 Extending the pull-down menus.- 4.3.5 Command keys.- 4.3.6 Journal window.- 4.3.7 Natural language input via speech.- 4.3.8 Speech output.- 4.3.9 Cursor.- 4.3.10 On-line documentation.- 4.3.11 Generating test images.- 4.3.12 PIP is not just an image-processing system.- 4.4 Advanced aspects of PIP.- 4.4.1 Programmable color filter.- 4.4.2 Mathematical morphology.- 4.4.3 Multiple-image-processing paradigms.- 4.4.4 Image stack and backtracking.- 4.4.5 Programming generic algorithms.- 4.4.6 Batch processing of images.- 4.4.7 Simulating a tine-scan camera.- 4.4.8 Range maps.- 4.4.9 Processing image sequences.- 4.4.10 Interfacing PIP to the World Wide Web.- 4.4.11 Controlling external devices.- 4.5 Windows image processing (WIP).- 4.6 Web-based image processing (CIP).- 4.7 Target (factory floor) vision systems.- 4.8 Concluding remarks.- 5 Algorithms and architectures for fast execution.- 5.1 Classification of operations.- 5.2 Implementation of monadic pixel-by-pixel operations.- 5.3 Implementation of dyadic pixel-by-pixel operations.- 5.4 Implementation of monadic neighborhood operations.- 5.5 Implementation of monadic global operations.- 5.6 SKIPSM — a powerful implementation paradigm.- 5.6.1 SKIPSM fundamentals.- 5.6.2 SKIPSM example.- 5.6.3 SKIPSM example.- 5.6.4 Additional comments on SKIPSM implementations.- 5.7 Image-processing architectures.- 5.8 Systems with random access to image memory.- 5.8.1 Systems based on personal computers or workstations.- 5.8.2 Systems based on bit-slice processors.- 5.8.3 Systems based on multiple random-access processors.- 3.9 Systems with sequential image memory access only.- 5.9.1 Classification of operations needed for inspection.- 5.9.2 Pipeline Systems.- 5.9.3 Single-board system capable of many operations in one pass.- 5.9.4 Hardware implementafions of SKIPSM.- 5.10 Systems for continuous web-based processing.- 6 Adding intelligence.- 6.1 Preliminary remarks.- 6.1.1 Basic assumptions.- 6.2 Implementing image-processing operators.- 6.3 Very Simple Prologs+ (VSP).- 6.3.1 Defining the # Operator.- 6.3.2 Device Control.- 6.3.3 VSP Control Software.- 6.4 PIP.- 6.4.1 System considerations.- 6.4.2 Why not implement Prolog+ commands directly?.- 6.4.3 Infrastructure.- 6.4.4 Storing, displaying, and manipulating images.- 6.4.5 Prolog—C interface.- 6.4.6 PIP infrastructure.- 6-4.7 Defining infrastructure predicates.- 6.4.8 Implementing pip’s basic commands.- 6.5 WIP.- 6.5.1 WIP design philosophy.- 6.5.2 Host application.- 6.5.3 Command line function.- 6.5.4 Parser.- 6.5.5 Calling function.- 6.5.6 Interface function.- 6.5.7 Image function.- 6.5.8 Returning results and errors.- 6.6 Concluding remarks.- 7 Vision systems on the Internet.- 7.1 Stand-alone and networked systems.- 7.2 Java.- 7.2.1 Platform independence.- 7.2.2 Applets, applications, and servlets.- 7.2.3 Security.- 7.2.4 Speed.- 7.2.5 Interactive vision systems in Java.- 7.3 Remotely-Operated Prototyping Environment (ROPE).- 7.3.1 What ROPE does.- 7.3.2 Assistant.- 7.3.3 Vision engineers should avoid travel.- 7.3.4 Current version of ROPE.- 7.3.5 Digitizing images.- 7.3.6 Java Interface to the Flexible Inspection Cell (JIFIC).- 7.3.7 Other features of ROPE.- 7.4 CIP.- 7.4.1 Structure and operation of CIP.- 7.5 Remarks.- 8 Visual programming for machine vision.- 8.1 Design outline.- 8.1.1 Graphical user interface (GUI).- 8.1.2 Object-oriented programming.- 8.1.3 lava image handling.- 8.1.4 Image-processing strategy.- 8.2 Data types.- 8.2.1 Image.- 8.2.2 Integer.- 8.2.3 Double.- 8.2.4 Boolean.- 8.2.5 String.- 8.2.6 Integer array.- 8.3 Nonlinear feedback blocks.- 8.3.1 Feedback.- 8.3.2 FOR loop.- 8.3.3 IF ELSE.- 8.3.4 Nesting.- 8.4 Visual programming environment.- 8.4.1 Interpretation of graphics files.- 8.4.2 Plug-in-and-play architecture.- 8.5 Image viewer and tools.- 8.5.1 Horizontal and vertical scans.- 8.5.2 Histograms.- 8.5.3 Pseudocolor tables.- 8.5.4 3-D profile viewer.- 8.6 Sample problems.- 8.6.1 Low-level programming.- 8.6.2 High-level programming.- 8.6.3 Convolution.- 8.6.4 Fourier transform.- 8.6.5 Isolate the largest item in the field of view.- 8.6.6 Character detection using the N-tuple operator.- 8.7 Summary.- 9 Application case studies.- 9.1 Preliminary remarks.- 9.2 Taking a broad view.- 9.2.1 Automobile connecting rod (conrod).- 9.2.2 Coffee beans.- 9.2.3 Table place-setting.- 9.2.4 Hydraulics manifold.- 9.2.5 HydrauHcs cylinder for automobile brake system.- 9.2.6 Electrical connection block.- 9.2.7 Electric light bulb.- 9.2.8 Analysis of industrial X-rays.- 9.2.9 Highly variable objects (food and natural products).- 9.3 Cracks in ferrous components.- 9.4 Aerosol spray cone.- 9.5 Glass vial.- 9.6 Coin.- 9.7 Metal grid.- 9.8 Toroidal metal component.- 9.9 Mains power plug (X-ray).- 9.10 Conclusions.- 10 Final remarks.- 10.1 Interactive prototyping systems.- 10.2 Target vision systems.- 10.3 Design tools.- 10.4 Networked systems.- 10.5 Systems integration.- 10.6 Algorithms and heuristics.- 10.7 Concluding comments.- Appendix A Programmable color filter.- Representation of color.- Color triangle.- Mapping RGB to HSI.- Programmable color filter (PCF).- Software.- Appendix B A brief introduction to Prolog.- Prolog is different.- Declarative programming.- Facts.- Simple queries.- Rules.- Queries involving rules.- Backtracking and instantiation.- Recursion.- Lists.- Other features.- Further reading.- Appendix C PIP commands and their implementation.- References.- Further reading.
1997-2024 DolnySlask.com Agencja Internetowa