[go: up one dir, main page]

0% found this document useful (0 votes)
51 views8 pages

Machine Vision Using Labview

This document discusses machine vision using LabVIEW. It provides an overview of machine vision and its role in intelligent systems. Building machine vision systems with LabVIEW Real-Time provides a deterministic environment. An embedded vision system consists of a development computer, target embedded computer running real-time OS, and vision code generated from LabVIEW and Vision Builder. LabVIEW is a visual programming language used for data acquisition, instrumentation, and automation. Programs in LabVIEW are called virtual instruments with a block diagram, front panel, and connector panel. The document also discusses a literature survey on texture analysis and case studies using LabVIEW for its instrumentation support and performance. A block diagram of a proposed machine vision system using LabVIEW for pattern matching on video

Uploaded by

Lokesh Dn
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
51 views8 pages

Machine Vision Using Labview

This document discusses machine vision using LabVIEW. It provides an overview of machine vision and its role in intelligent systems. Building machine vision systems with LabVIEW Real-Time provides a deterministic environment. An embedded vision system consists of a development computer, target embedded computer running real-time OS, and vision code generated from LabVIEW and Vision Builder. LabVIEW is a visual programming language used for data acquisition, instrumentation, and automation. Programs in LabVIEW are called virtual instruments with a block diagram, front panel, and connector panel. The document also discusses a literature survey on texture analysis and case studies using LabVIEW for its instrumentation support and performance. A block diagram of a proposed machine vision system using LabVIEW for pattern matching on video

Uploaded by

Lokesh Dn
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Machine Vision using LabVIEW

CHAPTER 1

OVERVIEW

Dept. of ECE, MVJCE Bangalore.

Page 1

Machine Vision using LabVIEW

1.1

INTRODUCTION
Machine vision is a continuously growing area of research dealing with processing

and analyzing of image data. It plays a key role in the development of intelligent systems. The principal goal of research on intelligent systems is to develop machines that have the ability to perceive, reason, move, and learn from experiences. Machine vision (MV) is a branch of engineering that uses computer vision in the context of manufacturing. It is the analysis of images to extract data for controlling a process or activity. Building Machine Vision system with LabVIEW Real-Time provides an environment for complete deterministic control. Because the underlying real-time operating system is a simplified kernel, we have fewer chances for latency or delays caused by interrupt service routines. Machine Vision systems running LabVIEW Real-Time easily integrate with other measurement and automation devices, so we can use high-speed interconnects between devices in a PXI chassis for advanced measurement capabilities and facilitate communication between devices without host intervention. An embedded machine vision system consists of several components. First we need a development machine or host computer. This computer allows us to do all the necessary software development, including acquiring sample images, prototyping vision strategies, and benchmarking the application. After we are satisfied with our imaging strategy, we must download the code to a ruggedized and embedded computer running a real-time operating system. Next, generate LabVIEW code from Vision Builder. We can make modifications to this code and integrate additional functionality, such as data acquisition, remote monitoring, or motion control. Next, we can download the code to the target embedded PXI controller. The PXI system runs autonomously from the host computer. The real-time operating system on the target PXI machine ensures system reliability. For monitoring the inspection, we can send image data to the host computer via Ethernet, or we can view image data, complete with graphical overlays and text, via the video-out port on the PXI controller. LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) is a platform and development environment for a visual programming language from National Dept. of ECE, MVJCE Bangalore. Page 2

Machine Vision using LabVIEW Instruments. The purpose of such programming is automating the usage of processing and measuring equipment in any laboratory setup. The graphical language is named "G". Originally released for the Apple Macintosh in 1986, LabVIEW is commonly used for data acquisition, instrument control, and industrial automation on a variety of platforms including Microsoft Windows, various versions of UNIX, Linux, and Mac OS X. The latest version of LabVIEW is version LabVIEW 2010, released in August 2010. The programming language used in LabVIEW, also referred to as G, is a dataflow programming language. Execution is determined by the structure of a graphical block diagram (the LV-source code) on which the programmer connects different function-nodes by drawing wires. These wires propagate variables and any node can execute as soon as all its input data become available. Since this might be the case for multiple nodes simultaneously, G is inherently capable of parallel execution. Multi-processing and multi-threading hardware is automatically exploited by the built-in scheduler, which multiplexes multiple OS threads over the nodes ready for execution. LabVIEW ties the creation of user interfaces into the development cycle. LabVIEW programs/subroutines are called virtual instruments (VIs). Each VI has three components: a block diagram, a front panel and a connector panel. The last is used to represent the VI in the block diagrams of other, calling VIs. Controls and indicators on the front panel allow an operator to input data into or extract data from a running virtual instrument. However, the front panel can also serve as a programmatic interface. Thus a virtual instrument can either be run as a program, with the front panel serving as a user interface, or, when dropped as a node onto the block diagram, the front panel defines the inputs and outputs for the given node through the connector pane. This implies each VI can be easily tested before being embedded as a subroutine into a larger program. The graphical approach also allows non-programmers to build programs by dragging and dropping virtual representations of lab equipment with which they are already familiar. The LabVIEW programming environment, with the included examples and the documentation, makes it simple to create small applications. This is a benefit on one side, but there is also a certain danger of underestimating the expertise needed for high-quality G programming. For Dept. of ECE, MVJCE Bangalore. Page 3

Machine Vision using LabVIEW complex algorithms or large-scale code, it is important that the programmer possess an extensive knowledge of the special LabVIEW syntax and the topology of its memory management. The most advanced LabVIEW development systems offer the possibility of building stand-alone applications. Furthermore, it is possible to create distributed applications, which communicate by a client/server scheme, and are therefore easier to implement due to the inherently parallel nature of G. The image above is an illustration of a simple LabVIEW program showing the dataflow source code in the form of the block diagram in the lower left frame and the input and output variables as graphical objects in the upper right frame. The two are the essential components of a LabVIEW program referred to as a Virtual Instrument VI.

1.2

RECOGNITION OF NEED

Dept. of ECE, MVJCE Bangalore.

Page 4

Machine Vision using LabVIEW

CHAPTER 2

LITERATURE SURVEY

Dept. of ECE, MVJCE Bangalore.

Page 5

Machine Vision using LabVIEW

2.1 CASE STUDY


Image texture analysis is an important fundamental problem in machine vision. During the past few years, the group has developed theoretically and computationally simple but very efficient nonparametric approaches to texture analysis based on Local Binary Patterns (LBP) and signed gray level differences. In 2002, the joint use of colour and texture in classification was studied, suggesting separate processing of colour and pattern information. Outex, the new large texture image database created for empirical evaluation of texture analysis algorithms was further developed. The performances of the MPEG-7 texture descriptors and the LBP method were empirically evaluated in the retrieval of 319 Outex textures. LBP clearly outperformed the MPEG-7 descriptors both with respect to the retrieval accuracy and the computation time. The main reason for using LabVIEW over other development environments is the extensive support for accessing instrumentation hardware. In terms of performance, LabVIEW includes a compiler that produces native code for the CPU platform. The graphical code is translated into executable machine code by interpreting the syntax and by compilation. The LabVIEW syntax is strictly enforced during the editing process and compiled into the executable machine code when requested to run or upon saving. In the latter case, the executable and the source code are merged into a single file. The executable runs with the help of the LabVIEW run-time engine, which contains some precompiled code to perform common tasks that are defined by the G language. Many libraries with a large number of functions for data acquisition, signal generation, mathematics, statistics, signal conditioning, analysis, etc., along with numerous graphical interface elements are provided in several LabVIEW package options. The number of advanced mathematic blocks for functions such as integration, filters, and other specialized capabilities usually associated with data capture from hardware sensors is immense. In addition, LabVIEW includes a text-based programming component called MathScript with additional functionality for signal processing, analysis and mathematics. MathScript can be

Dept. of ECE, MVJCE Bangalore.

Page 6

Machine Vision using LabVIEW integrated with graphical programming using "script nodes" and uses a syntax that is generally compatible with MATLAB. The fully modular character of LabVIEW code allows code reuse without modifications: as long as the data types of input and output are consistent, two sub VIs are interchangeable. The LabVIEW Professional Development System allows creating stand-alone executables and the resultant executable can be distributed an unlimited number of times. The run-time engine and its libraries can be provided freely along with the executable. A benefit of the LabVIEW environment is the platform independent nature of the G code, which is (with the exception of a few platform-specific functions) portable between the different LabVIEW systems for different operating systems. There is a low-cost LabVIEW Student Edition aimed at educational institutions for learning purposes. There is also an active community of LabVIEW users who communicate through several e-mail groups and Internet forums.

Dept. of ECE, MVJCE Bangalore.

Page 7

Machine Vision using LabVIEW

2.3 BLOCK DIAGRAM OF THE PROPOSED SYSTEM


LabView Section Reference Value

Input video frames

Image processing (Pat tern

matching) (

Decision Circuit

Serial interface to Microcontroller

Technique (Pattern matching)

Elimination Process

In this proposed system, the video frames from the camera are given as the input to the processing unit(LabVIEW) and is compared each time with the reference image stored in the memory. This comparison is done by using the technique called Pattern Matching. Based on the output from the processing unit the decision circuit decides whether the region of interest in the product is defective or not. If a defective product is encountered it is communicated serially to the microcontroller which eliminates the product with the help of a motor connected to it.

Dept. of ECE, MVJCE Bangalore.

Page 8

You might also like