Epson Panorama Stitcher Light EP and QuickTime 5 Reference Manual Download Page 174

Smoothness Property 

 

Smoothness Property 

 

Applies To 

Vision Objects: Geometric 

 

Description 

Sets / returns the smoothness level for the geometric edge extraction filter. 

 

Usage 

VGet  

Sequence.Object

.Smoothness,

 

var

 

VSet  

Sequence.Object

.Smoothness,

 

value

 

Sequence

  Name of a sequence or string variable containing a sequence name. 

Object

 

Name of an object or string variable containing an object name.  The object must exist in the 
specified sequence. 

var

 

Integer variable that will contain the value of the property. 

value

 

Integer expression for the new value of the property. 

 

Values 

0 - 100 

 

Default: 50 

 

Remarks 

The Smoothness property allows you to control the smoothing level of the edge extraction filter.  The 
smoothing operation evens out rough edges and removes noise.  The range of this control varies from 0 (no 
smooth) to 100 (a very strong smooth).  The default setting is 50. 

The DetailLevel property also affects how edges are extracted. 

 

See Also 

DetailLevel Property, Object Tab, Timeout Property 

160

 

Vision Guide 5.0 Reference (Ver.5.3) Rev.1

 

Summary of Contents for Panorama Stitcher Light EP and QuickTime 5

Page 1: ...Ver 5 3 Vision Guide 5 0 Properties and Results Reference EPSON RC 5 0 Option Rev 1 EM08ZR1778F ...

Page 2: ...EPSON RC 5 0 Option Ver 5 3 Vision Guide 5 0 Properties and Results Reference Rev 1 ...

Page 3: ...Vision Guide 5 0 Reference Ver 5 3 Rev 1 i EPSON RC 5 0 Option Ver 5 3 Vision Guide 5 0 Properties and Results Reference Rev 1 Copyright 2007 2008 SEIKO EPSON CORPORATION All rights reserved ...

Page 4: ...However customers will be charged for repairs in the following cases even if they occur during the warranty period 1 Damage or malfunction caused by improper use which is not described in the manual or careless use 2 Malfunctions caused by customers unauthorized disassembly 3 Damage due to improper adjustments or unauthorized repair attempts 4 Damage caused by natural disasters such as earthquake ...

Page 5: ...nd Windows Vista NOTICE No part of this manual may be copied or reproduced without authorization The contents of this manual are subject to change without notice Please notify us if you should find any errors in this manual or if you have any comments regarding its contents INQUIRIES Contact the following service center for robot repairs inspections or adjustments If service center information is ...

Page 6: ...846 SUPPLIERS North South America EPSON AMERICA INC Factory Automation Robotics 18300 Central Avenue Carson CA 90746 USA TEL 1 562 290 5900 FAX 1 562 290 5999 E MAIL info robots epson com Europe EPSON DEUTSCHLAND GmbH Factory Automation Division Otto Hahn Str 4 D 40670 Meerbusch Germany TEL 49 0 2159 538 1391 FAX 49 0 2159 538 3170 E MAIL robot infos epson de iv Vision Guide 5 0 Reference Ver 5 3 ...

Page 7: ...access at all times WARNING This symbol indicates that a danger of possible serious injury or death exists if the associated instructions are not followed properly CAUTION This symbol indicates that a danger of possible harm to people or physical damage to equipment and facilities exists if the associated instructions are not followed properly The NOTE sections describe important information to be...

Page 8: ...vi Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 9: ...t 14 BackColor Property 15 CalComplete Result 16 Calibration Property 17 Camera Property 18 CameraGain Property 19 CameraOffset Property 20 CameraOrientation Property 21 CameraX Result 22 CameraX1 Result 23 CameraX2 Result 24 CameraXYU Result 25 CameraY Result 26 CameraY1 Result 27 CameraY2 Result 28 Caption Property 29 CenterPntObjResult Property 30 CenterPntOffsetX Property 31 CenterPntOffsetY P...

Page 10: ...ject1 Property 64 LineObject2 Property 65 MaxArea Property 66 MaxLength Property 67 MaxPixelLength Property 68 MaxX Result 69 MaxY Result 70 MinArea Property 71 MinLength Property 72 MinMaxArea Property 73 MinPixelLength Property 74 MinX Result 75 MinY Result 76 ModelObject Property 77 ModelOK Property 78 ModelOrgAutoCenter Property 79 ModelOrgX Property 80 ModelOrgY Property 81 ModelWin Property ...

Page 11: ...Property 116 RobotArm Property 117 RobotLocal Property 118 RobotSpeed Property 119 RobotTool Property 120 RobotU Result 121 RobotX Result 122 RobotX1 Result 123 RobotX2 Result 124 RobotXYU Result 125 RobotY Result 126 RobotY1 Result 127 RobotY2 Result 128 RotationAngle Property 129 Roughness Result 130 RuntimeAcquire Property 131 RuntimeFreeze Property 133 SaveImage Property 134 Scale Result 135 S...

Page 12: ...perty 162 StartPointObject Property 163 StartPointType Property 164 Strength Result 166 StrengthTarget Property 167 StrengthVariation Property 168 TargetSequence Property 169 Thickness Property 170 ThresholdColor Property 171 ThresholdHigh Property 172 ThresholdLow Property 173 Time Result 174 Timeout Property 175 TotalArea Result 176 TriggerMode Property 177 TwoRefPoints Property 178 UpwardLamp P...

Page 13: ...nts Y1 Property 194 Y2 Property 195 YAxisPntObjResult Property 196 YAxisPoint Property 197 YAvgError Result 199 YMaxError Result 200 YmmPerPixel Result 201 YTilt Result 202 Vision Guide 5 0 Reference Ver 5 3 Rev 1 xi ...

Page 14: ...Table of Contents xii Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 15: ...in this section Description A simple description is given for each property or result This section is normally very short for simplicity Usage The Usage Section describes how to access the property or result from the SPEL Language Values Describes the range of acceptable values which the property can be set to or which the result will return A default value is also shown for those properties that ...

Page 16: ...t Name of an object or string variable containing an object name The object must exist in the specified sequence var Boolean variable that will contain the value of the property value Boolean expression for the new value of the property Values False Does not cause the sequence to abort when the object is not found True Causes the sequence to abort when the object is not found Default False Remarks...

Page 17: ...elation Geometric Polar 100 Edge Remarks The Accept property can also affect the searching speed by providing a hint as to when to pursue the search in a given area of the Region of Interest When the Accept property is high features must be very similar to the model so many regions can be ruled out by a cursory examination and not pursued further However if the Accept property is low features that...

Page 18: ...r Sequence Name of a sequence or string variable containing a sequence name var Integer variable that will contain the value of the result Values 0 Picture has not been taken strobe has not yet fired 3 Picture has been taken Remarks After calling VRun for a strobed sequence the SPEL program must wait for the AcquireState to become 3 before further vision processing can continue See Also Object Tab...

Page 19: ...ame var Boolean variable that will contain the value of the result Values False One of the objects within the sequence was not found True All objects within the sequence were found Remarks The AllFound result is useful to determine that all objects within a specified sequence are found This result applies to sequences only and will not be found in object results See Also Found Result Sequence Tab ...

Page 20: ... return multiple results Values Real number in degrees Blob 90 to 90 degree Others 0 to 360 degree Remarks The Angle result returns the found part s angle in the image coordinate system In some cases you may want to use a Polar object to determine angle because it can be faster and more accurate Statistics For the Angle result the following statistics are available AngleMax AngleMean AngleMin Angl...

Page 21: ...ngleAccuracy property is used at model training time and not at run time This value specifies the desired accuracy for angle search The Correlation model must be taught after a new value for the AngleAccuracy property is set in order for the new setting to take affect If you teach a Correlation Model then later set the AngleAccuracy property to a new value and then try to run that Correlation obje...

Page 22: ...ith angle is normally able to find rotated parts the correlation search time usually increase significantly This is why correlation with angle is most useful for finding parts which rotate only slightly The Polar object however is normally very fast and can be used in conjunction with the Correlation object for a powerful and fast combination See the sections on Correlation or Polar Searching for ...

Page 23: ...n later set the AngleMaxIncrement property to a new value and then try to run that Correlation object it will not search with the new angle increment You must re teach the Correlation Model with the AngleEnable property set to True and with the new value for the AngleMaxIncrement property in order for Correlation search with angle to use the new AngleMaxIncrement property value You must also have ...

Page 24: ... in the specified sequence var String variable that will contain the value of the property value String expression for the new value of the property Values Screen or the name of an object whose step number is prior to the step number of the ImageOp object and returns an Angle result Default Screen Remarks Use AngleObject together with the Rotate setting of the Operation property to automatically r...

Page 25: ... sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values Real number in degrees from 0 360 Default 0 Remarks The AngleOffset is provided to allow the Polar object s graphic direction indicator to lin...

Page 26: ...leRange property in order for Correlation search with angle to use the new AngleRange property value You must also have the proper settings for the AngleMaxIncrement property prior to teaching the new Model as well NOTE The AngleRange property is must be set before teaching the model This value specifies the range within which to train a series of rotated models For example if the AngleRange prope...

Page 27: ...ger number in degrees from 0 360 Default 0 Remarks Use AngleStart to set the starting search angle This property is only valid when AngleEnable is set to True The system will search for the model starting with AngleStart using the AngleRange property For example if AngleStart is 45 degrees and AngleRange is 10 degrees then the system will search from 35 to 55 degrees Note that after setting AngleS...

Page 28: ... result Optional result number If omitted the result number is the CurrentResult Values Real number in pixels from 1 to searchWinWidth x searchWinHeight Remarks The Area result is the total area of the blob in pixels The area measurement may have a fractional component Statistics For the Area result the following statistics are available AreaMax AreaMean AreaMin AreaStdDev Please see Statistics in...

Page 29: ...Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 0 None 1 Black 2 White Remarks With some images it is difficult to read the label because of the video background Use BackColor to make the label easie...

Page 30: ... Name of a calibration or string variable containing a calibration name var Boolean variable that will contain the value of the result Values False Calibration has not been completed True Calibration has been completed Remarks Use CalComplete to determine if a calibration has been completed successfully See Also PointsTaught Property 16 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 31: ...em The Calibration property associates a previously defined calibration with the specified vision sequence All calibrations which have been completed previously will appear in the Sequence Tab Calibration property which allows the user to select which calibration to use for this sequence It should be noted that each vision sequence may have only 1 calibration defined at a time However if you want ...

Page 32: ...with a vision sequence or calibration at a time For sequences the camera number must be selected before executing VRun For calibrations the camera number must match the camera number of the calibration target sequence Example The following example shows how to use different cameras with the same vision sequence We will set the Camera property prior to executing the vision sequence called FINDMARK ...

Page 33: ...eger variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 0 255 Default 80 Remarks Adjust the value of the CameraGain property when you want to change the contrast of an acquisition The CameraGain property can have values in the range of 0 255 with lower values representing higher gain in the analog section The Ca...

Page 34: ... property Values Integer value from 0 255 Default 0 Remarks The CameraOffset property is normally left at a value of 0 Change the CameraOffset property when you want to change the brightness of an acquisition Adjusting the CameraOffset property allows you to select the lower and upper limits saturation points at which differentiation of assigned digital values begins and ends Due to variations in ...

Page 35: ...ing variable containing a calibration name var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 1 Standalone 2 Fixed Downward 3 Fixed Upward 4 Mobile on J2 5 Mobile on J4 6 Mobile on J5 7 Mobile on J6 Default 1 Remarks The CameraOrientation property must be set before teaching calibration points See Also Camera Property ...

Page 36: ...ple results Values Real number in millimeters Remarks The CameraX result is always in millimeters in the camera coordinate system It should be noted that the CameraX result can only be calculated for vision sequences which have been associated with a calibration If no calibration has been assigned to the vision sequence then if VGet is used to retrieve the CameraX result an error will occur Statis...

Page 37: ...object Since Line object starting and endpoints can be assigned to other vision objects the CameraX1 CameraY1 and CameraX2 CameraY2 coordinate pairs can actually be Camera coordinate positions which match the CameraX and CameraY results for other vision objects In other words if a Line Object s starting point is defined by a Correlation object then the CameraX CameraY results from the Correlation ...

Page 38: ...ject Since Line object starting and endpoints can be assigned to other vision objects the CameraX1 CameraY1 and CameraX2 CameraY2 coordinate pairs can actually be Camera coordinate positions which match the CameraX and CameraY results for other vision objects In other words if a Line object s starting point is defined by a Correlation object then the CameraX CameraY results from the Correlation ob...

Page 39: ...ion of the part with respect to the camera coordinate system result Optional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values found Boolean value which is either True or False xVar Real number in millimeters yVar Real number in millimeters uVar Real number in degrees Remarks The xVar and yVar values are returned in millimeters sin...

Page 40: ... results Values Real number in millimeters Remarks The CameraY result is always in millimeters in the camera coordinate system It should be noted that the CameraY result can only be calculated for vision sequences which have been associated with a calibration If no calibration has been assigned to the vision sequence then if VGet is used to retrieve the CameraY result an error will occur Statistic...

Page 41: ... can be assigned to other vision objects the CameraX1 CameraY1 and CameraX2 CameraY2 coordinate pairs can actually be Camera coordinate positions which match the CameraX and CameraY results for other vision objects In other words if a Line object s starting point is defined by a Correlation object then the CameraX CameraY results from the Correlation object will match the CameraX1 CameraY1 results...

Page 42: ...bject Since Line object starting and endpoints can be assigned to other vision objects the CameraX1 CameraY1 and CameraX2 CameraY2 coordinate pairs can actually be Camera coordinate positions which match the CameraX and CameraY results for other vision objects In other words if a Line object s starting point is defined by a Correlation object then the CameraX CameraY results from the Correlation o...

Page 43: ...will contain the value of the property value String expression for the new value of the property Values String of 16 characters or less Any alphanumeric or the following punctuation characters are allowed _ Default Empty string Remarks The Caption property allows you to assign a meaningful label to the vision object By default the Caption property is an empty string and the name of the object will...

Page 44: ...n the value of the property value Integer expression for the new value of the property Values The value can range from 1 to the NumberToFind value for the CenterPointObject If the CenterPointObject is Screen then the value is always 1 Remarks CenterPntObjResult enables you to attach several objects to the results of one CenterPointObject For example you could create a blob object with NumberToFind...

Page 45: ... must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer in pixels If the search window would not be positioned within the video image as a result of the value then the search window will not be re positioned and the object will be marked as not found Default 0 Remarks The Center...

Page 46: ... must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer in pixels If the search window would not be positioned within the video image as a result of the value then the search window will not be re positioned and the object will be marked as not found Default 0 Remarks The Center...

Page 47: ... a vision object or screen Default Screen Remarks The CenterPointObject is based on the resulting coordinate position of an object which is executed prior to the specified object When teaching an object which has the CenterPointObject set to something other than Screen the vision object defined as CenterPointObject is executed first and the resulting position PixelX and PixelY is used to position ...

Page 48: ...of the Camera s field of view Therefore the actual range is 0 Radius Max Camera X Resolution Radius 1 For example an image resolution of 640x480 and a 16 pixel radius gives a range of 16 623 Default X coordinate screen position of the center of the Polar object Remarks This property is filled in automatically when the CenterPointObject property for a Polar object is set to another vision object Ho...

Page 49: ...dge of the Camera s field of view Therefore the actual range is 0 Radius Max Camera Y Resolution Radius 1 For example an image resolution of 640x480 and a 16 pixel radius gives a range of 16 463 Default Y coordinate Screen Position of the center of the Polar object Remarks This property is filled in automatically when the CenterPointObject property for a Polar object is set to another vision objec...

Page 50: ... that will contain the value of the result result Optional integer result number from 1 to the NumberToFind property If omitted the result number is the CurrentResult Values Minimum value is 1 0 Remarks Compactness is a measure of how close all particles in a blob are from one another It is derived from the perimeter and area A circular blob is most compact and is defined to have a compactness mea...

Page 51: ... Accept property affect searching and pattern finding speed The Confusion property allows the system to quit the Correlation Search or Polar Search before exploring all possible regions of the image thus speeding up the process Set the Confusion property based on the highest value you expect the wrong part to get plus a margin for error The Confusion property should be greater than or equal to the...

Page 52: ...alue of the result Values Real number from 0 255 Remarks Contrast is the difference in grayscale values between an edge and its background Contrast can help find weaker edges First find the edge you want to search for and record the contrast value Next set the ContrastTarget property to this value Then set the ScoreWeightContrast to a higher value that ScoreWeightStrength This tells the Edge objec...

Page 53: ...the new value of the property Values 0 255 Default 0 any contrast Remarks ContrastTarget is the desired difference in grayscale values between an edge and its background Use ContrastTarget to find weaker edges or edges at an angle First find the edge you want to search for and record the Contrast result value You may have to temoparily change the Edge object position to find it Next set the Contra...

Page 54: ... a sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer number from 0 255 Default 0 any variation Remarks Use ContrastVariation to tighten the search for the edge with contrast of Co...

Page 55: ...objects support finding multiple results The CurrentResult property defines which result to work with When you are only trying to find 1 result as defined by the NumberToFind property the CurrentResult property is automatically set to 1 since there is only 1 possible result to return When working with the Vision Guide window you will also notice that the Results list on the Object tab will display...

Page 56: ...int the Area for each result Function main define NUM_TO_FIND 3 Integer foundCount area VRun mtest VGet mtest Blob01 NumberFound foundCount If foundCount NUM_TO_FIND Then Print The correct number of blobs were found Else Print Only found blobs were found EndIf VSet mtest Blob01 CurrentResult 1 VGet mtest BLOB01 Area area Print 1st blob area area pixels VSet mtest Blob01 CurrentResult 2 VGet mtest ...

Page 57: ...by the transition in grayscale value between adjacent pixels The default level Medium offers a robust detection of active edges from images with contrast variation noise and non uniform illumination Nevertheless in cases where objects of interest have a very low contrast compared to high contrast areas in the image some low contrast edges can be missed If your images contain low contrast objects a...

Page 58: ...ble that will contain the value of the property value Integer expression for the new value of the property Values Integer number from 1 100 Default 2 Remarks Use EdgeThreshold to reject edges along the search path with smaller grayscale variations During an edge search the image in the search area is projected into one line of pixels Each pixel in the projection is a summation of all the pixels in...

Page 59: ...riable containing an object name The object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 1 Single 2 Pair Default 1 Remarks Use EdgeType to choose whether to search for a single edge or an edge pair An edge pair is two opposing edges The coordinate of the pair is the midpoint o...

Page 60: ...he property value Integer expression for the new value of the property Values The value can range from 1 to the NumberToFind value for the EndPointObject If the EndPointObject is Screen then the value is always 1 Remarks EndPntObjResult enables you to attach several objects to the results of one EndPointObject For example you could create a blob object with NumberToFind set to 4 Then you could att...

Page 61: ...ct Remarks When a Line object is first created the EndPointObject property is set to Screen However Line objects are normally attached to other vision objects This is the purpose of the StartPointObject and EndPointObject properties Through these two properties the user can define a line between any two vision objects except Frames Frame objects cannot be used to define an end point for a Line obj...

Page 62: ... of type Point Default 0 Point Remarks As you can see in the Values Table above most of the EndPointObject s support only 1 EndPointType called Point This is because most EndPointObject s use the PixelX and PixelY position for a reference position for defining a Start or End Point for a line So when the EndPointObject is defined as Screen Blob Correlation Edge or Point the EndPointType will always...

Page 63: ...in a perpendicular fashion through the end point of the first line and use this position as the end point If the EndPointObject is modified to a Line object then the EndPointType is automatically changed to MidPoint If the EndPointObject is modified to Screen or Blob Correlation Edge or Point object then the EndPointType is automatically changed to 0 Point See Also Edge Object EndPointObject Prope...

Page 64: ...he image CameraGain and CameraOffset settings are used Typical image acquire time is from 33 to 66 ms for SC300 series When RuntimeAcquire is Stationary and ExposureTime is 0 the camera acquires images in async reset mode When the sequence runs the camera sensor is exposed for the ExposureTime then the image is acquired CameraGain and CameraOffset settings are not used Typical image acquire time i...

Page 65: ...ob s Extrema varMaxY Real variable containing maximum Y position of the blob s Extrema result Optional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values The values returned are always in pixels and may be from 1 video height Remarks The MinX MaxX MinY and MaxY results together define a blob s smallest enclosing rectangle that is al...

Page 66: ...he part was not found True The part was found Remarks The Found result simply returns whether or not the part or the current object is looking for was found For example and Edge Object returns whether or not an Edge was found and a Correlation object returns whether or not an image was found which matches the taught model The Found result is also included with the RobotXYU and CameraXYU results to...

Page 67: ...he specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 1 Light Green If this object is found show it in Light Green 2 Dark Green If this object is found show it in Dark Green Remarks You can set the FoundColor property to show an object that is found in Light Green or Dark Green In a bright image the ...

Page 68: ...ion or Geometric object is not Found Sometimes the Vision System tries to report that a Blob Correlation or Geometric object was found even though part of the object may be located outside of the Field of View Rather than report these objects as Found Vision Guide returns False for the Found result when a Blob Correlation or Geometric object is found but part of the object is outside of the Search...

Page 69: ...cated prior to the current vision object in the Object Execution Step List can be specified as the Frame property value Default None Remarks The Frame property is very useful for aligning objects to specific positions which respect to other objects found positions For more details see the Frame object explanation in Vision Objects Vision objects can use any Frame objects which have been defined as...

Page 70: ...e The Graphics property helps eliminate unnecessary clutter on the Vision Guide Development Run or Operator Windows by removing those graphics from objects which the designer specifies The Graphics property is used to define the graphics display characteristics for each vision object These will normally be set to values which when combined with the Graphics Properties of other vision objects will ...

Page 71: ...t in the specified sequence var Integer variable that will contain the value of the result result Optional integer result number from 1 to the NumberToFind property If omitted the result number is the CurrentResult Values Valid values are zero to the number of holes found Remarks A hole is a blob with opposite polarity located within the blob that was found Holes that intersect the edge of the blo...

Page 72: ...ption Sets or returns the image file for the current sequence Remarks Use the ImageFile property to view and search images stored on disk with the SaveImage property See Also Sequence Tab Vision Sequences SaveImage Property ImageSource Property 58 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 73: ...uence Remarks ImageSource allows you to run a sequence from a camera image or from an image file set with the ImageFile property If the ImageFile property is set to a valid image file then the ImageSource property will automatically be set to 2 File See Also Sequence Tab Vision Sequences ImageFile Property Vision Guide 5 0 Reference Ver 5 3 Rev 1 59 ...

Page 74: ...equence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 1 99 Remarks The Iterations property affects the following ImageOp operations Open Close Erode Dilate Smooth Sharpen1 Sharpen2 Thin Thicke...

Page 75: ... calibration name var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value of a valid standard output bit Remarks Use the Lamp property to automatically turn on a lamp for calibration Use the LampDelay property to allow time for a lamp to turn on before calibration continues See Also LampDelay Property UpwardLa...

Page 76: ...a calibration or string variable containing a calibration name var Real variable that will contain the value of the property value Real expression for the new value of the property Values Real number in seconds Remarks Use the LampDelay property to allow time for a lamp to turn on before calibration continues This is especially useful for flourescent lamps See Also Lamp Property UpwardLamp Propert...

Page 77: ...the value of the result Values The value returned is always in millimeters and may be from 0 on up This real number represents the length of the line and depends upon calibration in order to return a value Remarks The Length result can only be returned if calibration has been performed because the length is measured in millimeters This calibration can be done with or without the robot The Length r...

Page 78: ...cannot specify the MidPoint of the LineObject2 property LineObject1 can also be used to define the 1st of 2 lines when you want to define a Point object position as the intersection point between 2 lines LineObject2 defines the other Line to use for the intersection point It is important to note that for each specific vision sequence only those Line objects which are executed prior to the Point ob...

Page 79: ... and LineObject2 the PointType property can be set to Intersection However if either the LineObject1 or LineObject property is not yet defined then an error will occur when trying to set the PointType property to Intersection It is important to note that for each specific vision sequence only those Line objects which are executed prior to the Point object in the vision sequence steps will be avail...

Page 80: ...ject such that if a blob area does not fit within the range then it is considered not found i e the Found result is returned as False When a new Blob object is created the range between the MinArea property and MaxArea property is quite large because the default values are set at 25 and 100 000 respectively This means that in most situations the Blob object will return a Found result as true since...

Page 81: ...d sequence var Long variable that will contain the value of the property value Long expression for the new value of the property Values 0 or higher Default 1000 Remarks The purpose of the MinLength and MaxLength Properties is to set a range for the Line object such that if a line length does not fit within the range then it is considered not found i e the Found result is returned as False This is ...

Page 82: ...e var Real variable that will contain the value of the property value Real expression for the new value of the property Values 0 or higher in pixels Default 1000 Remarks The purpose of the MinPixelLength and MaxPixelLength Properties is to set a range for the Line object such that if a line length does not fit within the range then it is considered not found i e the Found result is returned as Fal...

Page 83: ...mber If omitted the result number is the CurrentResult Used for objects that return multiple results Values The value returned is always in pixels and may be from 1 video width Remarks The MinX MaxX MinY and MaxY results together define a blob s smallest enclosing rectangle that is aligned with the coordinate axes and completely encloses the blob This rectangle is known as the Extrema The MinX Max...

Page 84: ...esult result Optional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values Real number in pixels Remarks The MinX MaxX MinY and MaxY results together define a blob s smallest enclosing rectangle that is aligned with the coordinate axes and completely encloses the blob This rectangle is known as the Extrema The MinX MaxX MinY and MaxY ...

Page 85: ... a range for the Blob object such that if a blob area does not fit within the range then it is considered not found When a new Blob object is created the range between the MinArea property and MaxArea property is quite large because the default values are set at 25 and 100 000 respectively This means that in most situations the Blob object will return a Found result as true since the range is larg...

Page 86: ...in the specified sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values Real number in millimeters Default 0 Remarks The purpose of the MinLength and MaxLength Properties is to set a range for the Line object such that if a line length does not fit within the range then it is considered not found This is useful when you...

Page 87: ...a sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence minVar Long variable containing the minimum area to get from or set to the MinArea property maxVar Long variable containing the maximum area to get from or set to the MaxArea property Values For details refer to MaxArea Property or MinArea Property Remarks The purpo...

Page 88: ...ied sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values 0 or higher real number in pixels Default 0 Remarks The purpose of the MinPixelLength and MaxPixelLength Properties is to set a range for the Line object such that if a line pixellength does not fit within the range then it is considered not found This is useful...

Page 89: ...esult result Optional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values Real number in pixels Remarks The MinX MaxX MinY and MaxY results together define a blob s smallest enclosing rectangle that is aligned with the coordinate axes and completely encloses the blob This rectangle is known as the extrema The MinX MaxX MinY and MaxY ...

Page 90: ...esult result Optional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values Real number in pixels Remarks The MinX MaxX MinY and MaxY results together define a blob s smallest enclosing rectangle that is aligned with the coordinate axes and completely encloses the blob This rectangle is known as the Extrema The MinX MaxX MinY and MaxY ...

Page 91: ...alue of the property value String expression for the new value of the property Values Self Use the model for this object to search with objectName Use the model for this object Default Self Remarks The ModelObject property enables you to use one model for several objects of the same type For example if you have 5 polar objects that all search for the same part you can teach the model for the first...

Page 92: ...able containing a sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Boolean variable that will contain the value of the property Values False True Remarks If the model has been taught ModelOK will return true You can ensure that the sequence will run before running a sequence See Also ModelObject Property 78 Visi...

Page 93: ...he new value of the property Values False Do not cause the model origin to be automatically positioned True Automatically position the model origin at the center of the model window Default True Remarks The model origin may lie anywhere within the region defined by the model window The origin s coordinates define the model origin relative to the model window s upper left corner that is relative to...

Page 94: ...the center of the model window when a new object is created Remarks The model origin may lie anywhere within the model window Region The origin s coordinates define the model origin relative to the model s upper left corner that is relative to the location of element 0 0 of the image that defines the model When you create a new Correlation the model origin is set to the center of the model window ...

Page 95: ...indow when a new object is created Remarks The model origin may lie anywhere within the model s bounds The origin s coordinates define the model origin relative to the model s upper left corner that is relative to the location of element 0 0 of the image that defines the model When you create a new Correlation object the model origin is set to the center of the model window However the user may mo...

Page 96: ...le representing the height of the model window in Pixels Values All Values are in Pixels See the ModelWinTop ModelWinLeft ModelWinWidth and ModelWinHeight Properties for exact value data Remarks The ModelWin property was added to provide easy access to the ModelWinTop ModelWinLeft ModelWinWidth and ModelWinHeight Properties from the SPEL Language The ModelWin property allows the setting of all 4 P...

Page 97: ...l to be bigger which in turn cause the execution time to increase The ModelWinHeight property is available from both the Vision Guide window Object tab and from the SPEL Language The easiest way to set the ModelWinHeight is to simply click on the upper or lower horizontal sides of the model window and then drag them vertically It is also possible to set a specific height value for the ModelWinHeig...

Page 98: ...y is available from both the Vision Guide window Object Tab and from the SPEL Language The easiest way to set the ModelWinLeft position is to simply click down on one of the sides of the model window and then drag the model window to a new position You can also click on the leftmost vertical side of the model window at the center of the vertical line where the leftmost window handle is the small s...

Page 99: ...available from both the Vision Guide window Object tab and from the SPEL Language The easiest way to set the ModelWinTop position is to simply click on the top or bottom horizontal side of the model window and then drag the model window to a new position You can also click on the uppermost horizontal side of the model window at the center of the vertical line where the uppermost side window handle...

Page 100: ...to set the ModelWinWidth value is to simply click on the left or right vertical side of the model window and then drag the model window to a new position The ModelWinWidth property will be set automatically You can also click on the left or right vertical side of the model window at the center of the vertical line where the window handle is the small square on the upper horizontal side of the Mode...

Page 101: ...f a Vision Object Correlation Object ModelOrgAutoCenter Property ModelOrgX Property ModelOrgY Property ModelWin Property ModelWinHeight Property ModelWinLeft Property ModelWinTop Property Object Tab Vision Guide 5 0 Reference Ver 5 3 Rev 1 87 ...

Page 102: ...he creation of a new vision sequence a dialog is displayed requesting a name for the new Sequence This name is then set as the Name property Value for the vision sequence However the user can modify this name from the Sequence Tab Upon the creation of a new vision object such as a Blob Correlation etc a name is automatically assigned to the object The names used are based on the object type with a...

Page 103: ...search for The NumberFound result returns how may features were actually found The NumberFound result is a special result It will always return the number of features that were found for the specified vision object regardless of the setting of the CurrentResult property All the other results in the Results List are specific to each individual results record and will have different values depending...

Page 104: ...re result in descending order Function main define NUM_TO_FIND 3 Boolean numfound Integer score VRun mtest VGet mtest Corr01 NumberFound numfound If numfound NUM_TO_FIND Then Print The Proper Number of features 3 were found Else Print Only numfound features were found Exit Function EndIf VGet mtest Corr01 Score 1 score Print 1st feature score Best score VGet mtest Corr01 Score 2 score Print 2nd fe...

Page 105: ... 1 When working in the Vision Guide Development Environment you will notice that the Results List on the Object tab will display a heading like Result 1 of 15 This means that the system tried to find 15 features as defined by the NumberToFind property and the Result List will display the results for item 1 If you want to see the results for one of the other results just change the CurrentResult pr...

Page 106: ...ing order Function main define NUM_TO_FIND 3 Boolean numfound Integer score VSet mtest Corr01 NumberToFind NUM_TO_FIND VRun mtest VGet mtest Corr01 NumberFound numfound If numfound NUM_TO_FIND Then Print The Proper Number of features 3 were found Else Print Only numfound features were found Exit Function EndIf VGet mtest Corr01 Score 1 score Print 1st feature score Best score VGet mtest Corr01 Sco...

Page 107: ...iterations is determined by the Iterations property 4 Dilate Performs a dilation type morphological operation The number of iterations is determined by the Iterations property 5 Smooth Performs a smoothing type convolution operation The number of iterations is determined by the Iterations property 6 Sharpen1 Performs a sharpen type convolution operation The number of iterations is determined by th...

Page 108: ...to LightOnDark for the same image then executing Erode will look like a Dilate because the light objects will be eroded making the dark objects dilated The Iterations property determines how many times to execute the operation Convolution Smooth Sharpen1 Sharpen2 HorizEdge VertEdge EdgeDetect1 EdgeDetect2 LaPlaceEdge1 LaPlaceEdge2 Thin Thicken The Polarity property determines which shade to operat...

Page 109: ... var Boolean variable that will contain the value of the property value Integer expression for the new value of the property Values False Frame will not rotate with origin point angle True Frame will rotate with origin point angle Default False Remarks The OriginAngleEnabled property enables a frame to rotate with the angle of the origin object For example you can set the OriginPoint to a Polar ob...

Page 110: ...ect name The object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values The value can range from 1 to the NumberToFind value for the OriginPointObject If the OriginPointObject is Screen then the value is always 1 Remarks Use the OriginPntObjResult property to specify a result number ...

Page 111: ...pability is useful when specific features can be used to find reference points on a part and then other vision objects can be located on the image with respect to the frame position defined The OriginPoint and YAxisPoint properties are used together to define a vision frame which has an origin at the OriginPoint and a Y Axis direction defined by the YAxisPoint property It is important to note that...

Page 112: ...OriginPoint Property See Also Frame Object Object Tab YAxisPoint Property 98 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 113: ... object name The object must exist in the specified sequence var Real variable that will contain the value of the result result Optional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values Real number in pixels Remarks The perimeter is the total number of pixels along the blob edges including the edges of holes See Also Compactness R...

Page 114: ... Real number in pixels Remarks Unlike the Length result the PixelLength result returns a value even if calibration has not yet been performed This is because the units are in pixels and no calibration is needed for pixel unit based calculations If the user needs a length in millimeters then a standalone or robot based camera calibration is required Statistics For the PixelLength result the followi...

Page 115: ...t X2 Real variable representing the X coordinate position of the ending point of the Line object specified by Object Y2 Real variable representing the Y coordinate position of the ending point of the Line object specified by Object Values X1 X2 Real variable specified in pixels from 1 video width Y1 Y2 Real variable specified in pixels from 1 video height Remarks The PixelLine result is a runtime ...

Page 116: ...number If omitted the result number is the CurrentResult Used for objects that return multiple results Values Min 0 Max Video width 1 Remarks The PixelX result is the X coordinate of the objects position in the image coordinate system The value is a real number that has a fractional component because of the sub pixeling feature Statistics For the PixelX result the following statistics are availabl...

Page 117: ...nate position of the starting X1 Y1 and end points X2 Y2 of the specified Line object Since Line object starting and end points can be assigned to other vision objects the PixelX1 PixelY1 and PixelX2 PixelY2 coordinate pairs can actually be pixel coordinate positions which match the PixelX and PixelY results for other vision objects In other words if a Line object s starting point is defined by a ...

Page 118: ...X coordinate position starting X1 Y1 and endpoints X2 Y2 of the specified Line object Since Line object starting and endpoints can be assigned to other vision objects the PixelX1 PixelY1 and PixelX2 PixelY2 coordinate pairs can actually be pixel coordinate positions which match the PixelX and PixelY results for other vision objects In other words if a Line object s endpoint is defined by a Correla...

Page 119: ...iable representing the X pixel coordinate position of the part yVar Real variable representing the Y pixel coordinate position of the part uVar Real variable representing the angular position rotation of the part with respect to the image coordinate system result Optional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values found Bool...

Page 120: ...number If omitted the result number is the CurrentResult Used for objects that return multiple results Values Min 0 Max Video height 1 Remarks The PixelY result is the Y coordinate of the objects position in the image coordinate system The value is a real number that has a fractional component because of the sub pixeling feature Statistics For the PixelY result the following statistics are availab...

Page 121: ...he Y coordinate position starting Y1 and endpoints Y2 of the specified Line object Since Line object starting and endpoints can be assigned to other vision objects the PixelX1 PixelY1 and PixelX2 PixelY2 coordinate pairs can actually be pixel coordinate positions which match the PixelX and PixelY results for other vision objects In other words if a Line object s starting point is defined by a Corr...

Page 122: ...the Y coordinate position starting Y1 and endpoints Y2 of the specified Line object Since Line object starting and endpoints can be assigned to other vision objects the PixelX1 PixelY1 and PixelX2 PixelY2 coordinate pairs can actually be pixel coordinate positions which match the PixelX and PixelY results for other vision objects In other words if a Line object s endpoint is defined by a Correlati...

Page 123: ...g a calibration name var Boolean variable that will contain the value of the result value Boolean expression for the new value of the property Values False Points have not been taught True Points have been taught Remarks PointsTaught must be True before you can execute a calibration If you teach the calibration points from the Vision Guide GUI Calibration tab then this property will automatically ...

Page 124: ...ction point of a line or lines This is their primary purpose The PointType property is used to define the what the position for a Point object will be based upon As mentioned before there are 3 choices 0 Screen This is the default value for a Point object when it is first created but most of the time the PointType property is not set to this value 1 MidPoint A point position can be set to coincide...

Page 125: ...PointType Property See Also Line Object LineObject1 Property LineObject2 Property Object Tab Vision Guide 5 0 Reference Ver 5 3 Rev 1 111 ...

Page 126: ...ration will be performed on dark objects 2 LightOnDark The operation will be performed on light objects Default 1 Remarks The Polarity property is important for both the Edge and Blob objects because it defines one of the core parameters for each In the case of the Edge object the Polarity defines the edge transition along the direction of the edge search When using the Blob object Polarity is cri...

Page 127: ...the circle used for the Polar object This means that the Radius property along with the Thickness property defines the size of the Search Window for the Polar object The size required for a Polar object Search very much depends upon what the Polar object is being used for For example if the Polar object is being used to Inspect Gear Teeth then the Polar object should be made just a little larger t...

Page 128: ...at will contain the value of the property value Boolean expression for the new value of the property Values False Do not reject the object if found on edge of search window True Reject the object if found on edge of search window Default False Remarks When searching for objects that can fall outside the search window setting RejectOnEdge to True will prevent these objects from being found For exam...

Page 129: ... value of the property Values 1 Taught points 2 Upward camera Default 1 Taught points Remarks The calibration reference is a point defined in the robot coordinate system When taught points are specified one or two points are taught using a tool on the robot end effector during the teaching process for calibration points When upward camera is specified an upward camera that has already been calibra...

Page 130: ...ame var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 1 to 100 Default 10 Remarks Use RobotAccel along with RobotSpeed to configure the speed of a calibration cycle For more delicate systems a slow speed and accel should be used The robot must not cause any vibration of the camera that could affect ...

Page 131: ... Calibration Name of a calibration or string variable containing a calibration name var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 0 3 Default 0 Remarks RobotArm defines the arm definition used during the teaching process for a vision calibration See Also RobotLocal RobotTool Vision Guide 5 0 Ref...

Page 132: ...lue Calibration Name of a calibration or string variable containing a calibration name var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 0 15 Default 0 Remarks RobotLocal defines the local robot coordinate system used during the teaching process for a vision calibration See Also RobotArm RobotTool 1...

Page 133: ... var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 1 to 100 Default 10 Remarks Use RobotSpeed along with RobotAccel to configure the speed of a calibration cycle For more delicate systems a slow speed and accel should be used The robot must not cause any vibration of the camera that could affect cal...

Page 134: ...ol value Calibration Name of a calibration or string variable containing a calibration name var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 0 3 Default 0 Remarks RobotTool defines the tool used during the teaching process for a vision calibration See Also RobotArm RobotLocal 120 Vision Guide 5 0 R...

Page 135: ...is means that the RobotU result is suited for robot guidance applications However keep in mind that a special result called the RobotXYU result is most often used for robot guidance because it returns not only the U but also the X and U coordinate positions as well as whether or not the part was found See RobotXYU Result for more information It should be noted that the RobotU result can only be ca...

Page 136: ...that a special result called the RobotXYU result is most often used for robot guidance because it returns not only the X but also the Y and U coordinate positions as well as whether or not the part was found See RobotXYU Result for more information The RobotX Result is always returned in millimeters It should be noted that the RobotX result can only be calculated for vision sequences which have be...

Page 137: ...nd RobotX2 RobotY2 coordinate pairs can actually be Robot coordinate positions which match the RobotX and RobotY results for other vision objects In other words if a Line object s starting point is defined by a Correlation object then the RobotX RobotY results from the Correlation object will match the RobotX1 RobotY1 results for the Line object The RobotX1 result is always in millimeters in the r...

Page 138: ...Y1 and RobotX2 RobotY2 coordinate pairs can actually be robot coordinate positions which match the RobotX and RobotY results for other vision objects In other words if a Line object s endpoint is defined by a Correlation object then the RobotX RobotY results from the Correlation object will match the RobotX2 RobotY2 results for the Line object The RobotX2 result is always in millimeters in the rob...

Page 139: ...tional result number If omitted the result number is the CurrentResult Used for objects that return multiple results Values found True or False xVar Real number in millimeters yVar Real number in millimeters uVar Real number in degrees Remarks The RobotXYU result returns a position in the robot coordinate system and therefore can be used for robot guidance applications The RobotXYU result xVar and...

Page 140: ... that a special result called the RobotXYU result is most often used for robot guidance because it returns not only the Y but also the X and U coordinate positions as well as whether or not the part was found See RobotXYU Result for more information The RobotY Result is always returned in millimeters It should be noted that the RobotY result can only be calculated for vision sequences which have b...

Page 141: ...RobotX2 RobotY2 coordinate pairs can actually be Robot coordinate positions which match the RobotX and RobotY results for other vision objects In other words if a Line object s starting point is defined by a Correlation object then the RobotX RobotY results from the Correlation object will match the RobotX1 RobotY1 results for the Line object The RobotY1 result is always in millimeters in the robo...

Page 142: ...ordinate pairs can actually be robot coordinate positions which match the RobotX and RobotY results for other vision objects In other words if a Line object s endpoint is defined by a Correlation object then the RobotX RobotY results from the Correlation object will match the RobotX2 RobotY2 results for the Line object The RobotY2 result is always represented in millimeters with respect to the rob...

Page 143: ... object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Default 0 degrees Remarks RotationAngle is used to determine how many degrees to rotate the image when the AngleObject property is set to Screen If AngleObject is not set to Screen the RotationAngle has no effect Rotation is...

Page 144: ...omitted the result number is the CurrentResult Values Minimum value is 1 0 Remarks Roughness is a measure of the unevenness or irregularity of a blob s surface It is the ratio of the true perimeter to the convex perimeter of a blob The convex perimeter is the length of a line connecting all the extremities of the blob directly while the true perimeter is the length of a line connecting every pixel...

Page 145: ...the same image For example you could acquire an image in sequence 1 During this sequence you could also execute some vision objects Next assume that you want to use another vision sequence on the same image Simply set the RuntimeAcquire property to None for the 2nd vision sequence and the same image will be used for both sequences 1 Stationary The camera is stationary not moving A new image is acq...

Page 146: ...nce and then use the same image in the 2nd sequence making sure to set the RuntimeAcquire property to None for the 2nd sequence The 3rd Acquisition method is called Strobed This acquiers an image as follows When the vision sequence is run the sequence will wait for an input trigger At the instance the trigger input goes active the vision sequence will initiate an acquisition thus capturing the ima...

Page 147: ...Boolean variable that will contain the value of the property value Boolean expression for the new value of the property Values False Do not freeze the image Image display area will show live image True Freeze the image Image display area will show frozen image Default True Remarks The RuntimeFreeze property lets you choose whether to show the image acquired during a sequence or show live video aft...

Page 148: ...played image on disk Remarks SaveImage allows you to save images to disk that can be used by the ImageFile property The file can be saved in the following formats MIM default format for Vision Guide BMP TIF or JPG See Also Object Tab ImageFile Property ImageSource Property 134 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 149: ... var Real variable that will contain the value of the result result Optional result number If omitted the result number is the CurrentResult Values Real number scale factor Remarks You can use the Scale result to determine the size of the object found compared to the size of the model trained The ScaleEnabled property must be set to True to allow the scale to be determined during the search See Al...

Page 150: ...ect name The object must exist in the specified sequence var Boolean variable that will contain the value of the property value Boolean expression for the new value of the property Values False Do not account for scale during search True Determine scale factor Remarks You must set ScaleEnable to True to account for scale differences during the search See Also Geometric Object Object Tab Scale Resu...

Page 151: ... The object must exist in the specified sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values 1 0 2 0 Default 2 0 Remarks ScaleFactorMax and ScaleFactorMin determine the scale range to search for as applied to the ScaleTarget property The maximum scale found is ScaleFactorMax ScaleTarget To use ScaleFactorMax and Scale...

Page 152: ... The object must exist in the specified sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values 0 5 1 0 Default 0 5 Remarks ScaleFactorMax and ScaleFactorMin determine the scale range to search for as applied to the ScaleTarget property The minimum scale found is ScaleFactorMin ScaleTarget To use ScaleFactorMax and Scale...

Page 153: ...exist in the specified sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values 0 5 2 0 Default 1 0 Remarks To use ScaleTarget you must set the ScaleEnabled property to True The actual scale range is determined by ScaleTarget ScaleFactorMin and ScaleFactorMax The range is determined as follows minimum scale ScaleFactorMin...

Page 154: ...y match the Model However it should be noted that a low Score result can also be obtained if the Accept property and Confusion Properties are not set high enough If these properties are set low the first pattern found that meets the Accept and Confusion property thresholds will be returned as found This could mean that other patterns in the image which may have been better matches would not be fou...

Page 155: ...pecified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 0 100 Default 50 Remarks The ScoreWeightContrast is a percentage value that tells the Edge object how much to weigh the contrast result in the final score ScoreWeightContrast works with ScoreWeighStrength Both of these property valu...

Page 156: ...pecified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value from 0 100 Default 50 Remarks The ScoreWeightStrength is a percentage value that tells the Edge object how much to weigh the edge strength result in the final score ScoreWeightStrength works with ScoreWeighContrast Both of these property...

Page 157: ...width However for some applications you may want to increase the width of the edge search to help find an edge with some imperfections By increasing the SearchWidth the Edge object can gather more information to determine where the edge is During processing the 2 dimensional search window is transformed to a 1 dimension row of grayscale values Edge filters are applied to this row of values to dete...

Page 158: ...s to get from or set to the SearchWinWidth property HeightVar Integer variable representing the height of the Search Window in Pixels to get from or set to the SearchWinHeight property Values All Values are in Pixels See the Left Top Width and SearchWinHeight Properties for exact value data Remarks The SearchWin property was added to provide easy access to the SearchWinTop SearchWinLeft SearchWinW...

Page 159: ...ight property is available for the Blob Correlation Geometric and ImageOp objects Each of these object types have similar rectangular Search Windows used to define the area to search within The SearchWinHeight property is set automatically when the user drags the upper or lower horizontal window handles for the Search Window of each object type There are cases where the user may want to expand or ...

Page 160: ...s Integer number in pixels from 0 to video width SearchWinWidth Remarks The SearchWinLeft property is available for the Blob Correlation Geometric and ImageOp objects Each of these object types have similar rectangular Search Windows used to define the area to search within The SearchWinLeft property is set automatically when the user drags the left vertical window handle for the Search Window of ...

Page 161: ...perty is available for the Blob Correlation Geometric and ImageOp objects Each of these object types have similar rectangular Search Windows used to define the area to search within The SearchWinTop property is set automatically when the user drags the upper horizontal window handle of a specific object s Search Window or moves an object s Search Window vertically However the Top position of an ob...

Page 162: ...d ImageOp objects Each of these object types have similar rectangular Search Windows used to define the area to search within The SearchWinWidth property is set automatically when the user drags the left or right vertical window handles for the Search Window of each object type However the width of an object s Search Window can also be adjusted by simply entering a new value in the SearchWinWidth ...

Page 163: ...st exist in the specified sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values Real value from 0 180 degrees 0 Disabled Default 10 Remarks Use SeparationAngle to specify the minimum angle required between found objects SeparationAngle works with SeparationMinX SeparationMinY SeparationScale Note that only one separati...

Page 164: ...quence var Real variable that will contain the value of the property value Real expression for the new value of the property Values Real value from 0 100 of model width 0 Disabled Default 10 Remarks Use SeparationMinX to specify the minimum distance along the X axis required between found objects SeparationMinX is a percentage of model width SeparationMinX works with SeparationAngle SeparationMinY...

Page 165: ...uence var Real variable that will contain the value of the property value Real expression for the new value of the property Values Real value from 0 100 of model width 0 Disabled Default 10 Remarks Use SeparationMinY to specify the minimum distance along the Y axis required between found objects SeparationMinY is a percentage of model height SeparationMinY works with SeparationAngle SeparationMinX...

Page 166: ...bject must exist in the specified sequence var Real variable that will contain the value of the property value Real expression for the new value of the property Values Real value from 1 0 4 0 Default 1 1 Remarks Use SeparationScale to specify the minimum scale difference required between found objects SeparationScale works with SeparationMinX SeparationMinX SeparationScale Note that only one separ...

Page 167: ...e containing an object name The object must exist in the specified sequence var Boolean variable that will contain the value of the property value Boolean expression for the new value of the property Values False Shared edges are not allowed True Shared edges are allowed Default False Remarks You can choose to allow found objects to share edges by setting SharedEdges to True Otherwise edges that c...

Page 168: ...s the user to see all the results for a specific vision object It is the most useful when there are multiple results for a specific vision object because you can see all the results at one time The ShowAllResults result was designed to make is easier to see multiple results all together in one place Therefore it is only available for those vision objects which support multiple results Blob Correla...

Page 169: ...er expression for the new value of the property Values False Do not show line extensions True Show line extensions Default False Remarks When a Line object is created the default graphic display of the Line object is simply a line with a starting and ending point The StartPointObject and EndPointObject Properties can be used to modify the direction and length of the line but in some cases you may ...

Page 170: ...n the Value field Click on the button and the model will be displayed in the Vision Guide window Changing the model orgin This allows you to set the model origin more accurately A check box is provided so that ModelOrgAutoCenter can be toggled When ModelOrgAutoCenter is set to on the model origin is centered and cannot be changed To change the model origin with the mouse make sure that the ModelOr...

Page 171: ...ShowModel Property See Also Correlation Object Geometric Object Object Tab Polar Object Vision Guide 5 0 Reference Ver 5 3 Rev 1 157 ...

Page 172: ...teger expression for the new value of the property Values False Do not show processing True Show processing Default True Remarks Sometimes when using image processing objects such as ImageOp it is desirable not to see the processing For example if you use an ImageOp to binarize an entire image before other objects execute the display will show the binarized image if ShowProcessing is True By setti...

Page 173: ...r Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 0 Any Find blobs of any size 1 Largest Find the largest blobs 2 Smallest Find the smallest blobs Default 0 Any Remarks Use the SizeToFind property to find the largest or smallest blobs in an image When a blob object searches for blobs in an image it finds several candida...

Page 174: ...in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 0 100 Default 50 Remarks The Smoothness property allows you to control the smoothing level of the edge extraction filter The smoothing operation evens out rough edges and removes noise The range of this control varies from 0 no smooth to 100 a...

Page 175: ... to the PixelX and PixelY results 4 CameraX Results are ordered from left to right according to the CameraX result 5 CameraY Results are ordered from bottom to top according to the CameraY result 6 CameraXY Results are ordered diagonally from lower left to upper right according to the CameraX and CameraY results 7 RobotX Results are ordered along the Robot s X axis according to the RobotX result 8...

Page 176: ...e property value Integer expression for the new value of the property Values The value can range from 1 to the NumberToFind value for the StartPointObject If the StartPointObject is Screen then the value is always 1 Remarks StartPntObjResult enables you to attach several objects to the results of one StartPointObject For example you could create a blob object with NumberToFind set to 4 Then you co...

Page 177: ...e Line object Remarks When a Line object is first created the StartPointObject property is set to Screen However Line objects are normally attached to other vision objects This is the purpose of the StartPointObject and EndPointObject properties Through these two properties the user can define a line between any two vision objects except Frames Frame objects cannot be used to define an start point...

Page 178: ...osition Usage VGet Sequence Object StartPointType var VSet Sequence Object StartPointType value Sequence Name of a sequence or string variable containing a sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of t...

Page 179: ...nes intersect in a perpendicular fashion and use this position as the end point 4 StartPoint Use the starting point of the other line as the end point for this line 5 PerpToStartPnt Calculate the position on the 2nd line where the 2 lines intersect in a perpendicular fashion through the start point of the first line and use this position as the start point 6 PerpToMidPnt Calculate the position on ...

Page 180: ...ontaining a sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Integer variable that will contain the value of the result Values 0 100 Remarks Use the Strength result to set the StrengthTarget property See Also Edge Object StrengthTarget Property StrengthVariation Property 166 Vision Guide 5 0 Reference Ver 5 3 Re...

Page 181: ...new value of the property Values 0 100 Default 0 search for best strength Remarks An edge s strength is the minimum maximum edge value along the width of the edge depending on polarity This value is a normalized percentage of the maximum pixel value Use StrengthTarget to find edges with lower strengths First find the edge you want to search for a record the Strength result value Next set the Stren...

Page 182: ...variable containing a sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Long variable that will contain the value of the property value Long expression for the new value of the property Values 0 100 Default 0 Remarks Use StrengthVariation to tighten the search for the edge with strength of StrengthTarget See Also...

Page 183: ...libration or string variable containing a calibration name var String variable that will contain the value of the property value String expression for the new value of the property Values String value containing the name of the vision sequence Remarks The TargetSequence property must be specified for all calibrations For more details see the chapter Calibration in the Vision Guide manual See Also ...

Page 184: ...perty Values 1 25 pixels Default 5 Remarks It is important to remember that the Polar object is used to process images that are circular in nature The Thickness property defines the thickness of the circular ring which is used to define the Search Window for the Polar Search In many cases the Thickness property does not need to be very large for a successful search Since the Thickness property def...

Page 185: ...ied sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values 1 Black 2 White Default Black Remarks The ThresholdColor property defines the color of the pixels whose gray values are between the ThresholdHigh and ThresholdLow properties during binarization For example when ThresholdColor Black ThresholdLow 50 and Thre...

Page 186: ...erty defines the upper bound for grey level values that are considered to be a blob Any part of the image which falls within grey level region between ThresholdLow and ThresholdHigh will be assigned a pixel weight of 1 i e it is a blob If the Polarity property is set to DarkOnLight then grey levels between ThesholdLow and ThresholdHigh will changed to black pixels and all other pixels will be whit...

Page 187: ...defines the lower bound for grey level values that are considered to be a blob Any part of the image which falls within grey level region between ThresholdLow and ThresholdHigh will be assigned a pixel weight of 1 i e it is a blob If the Polarity property is set to DarkOnLight then grey levels between ThesholdLow and ThresholdHigh will changed to black pixels and all other pixels will be white If ...

Page 188: ...h vision object Blob Correlation Geometric Edge and Polar as well as for an entire vision sequence For the sequence time result if the RuntimeAcquire property is set to 1 Stationary default then the total time includes the acquisition time plus the total time for all steps in the sequence The acquisition time can vary and depends on the time it takes for the vision system to synchronize with the c...

Page 189: ...containing a sequence name Object Name of an object or string variable containing an object name The object must exist in the specified sequence var Long integer variable that will contain the value of the property value Long integer expression for the new value of the property Values 0 1000000 Default 2000 Remarks Use the Timeout property to limit the amount of search time for a Geometric object ...

Page 190: ... The object must exist in the specified sequence var Real variable that will contain the value of the result Values Real number from 1 total pixels in image Remarks TotalArea can be used to determine all pixels in the image being searched whose blobs fall withing the MinArea and MaxArea properties By setting NumberToFind to 0 and MinArea to 1 the Blob object can be used as a pixel counter See Also...

Page 191: ...lue of the property value Integer expression for the new value of the property Values Integer value 1 Leading edge trigger The electronic shutter trigger will occur when the trigger signal transitions from low to high 2 Trailing edge trigger The electronic shutter trigger will occur when the trigger signal transitions from high to low Default 1 Remarks The TriggerMode property allows you to match ...

Page 192: ...hat will contain the value of the property value Integer expression for the new value of the property Values False Use one reference point True Use two reference points Remarks Set TwoRefPoints to True to use two reference points for a calibration During calibration when CameraOrientation is set to Fixed upward the system will search for the target rotate 180 degrees and search for the target agai...

Page 193: ... of a calibration or string variable containing a calibration name var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values Integer value of a valid output bit Remarks Use the UpwardLamp property to automatically turn on a lamp for a calibration using an upward camera to find the reference point See Also Lamp Property LampDe...

Page 194: ...reference Usage VGet Calibration UpwardSequence var VSet Calibration UpwardSequence value Calibration Name of a calibration or string variable containing a calibration name var String variable that will contain the value of the property value String expression for the new value of the property See Also ReferenceType Property TargetSequence Property 180 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 195: ...e containing a calibration name Object Name of an object or string variable containing an object name The object must exist in the specified sequence Omit Object if you are retrieving a sequence or calibration property or result Property Name of the property to set or return the value of Result Name of the result to get the value of You can optionally specify a resultIndex for objects that can ret...

Page 196: ...se VGet with results you must first VRun the sequence which contains the vision object for which you want to get a result from For example assume you created a vision sequence which uses a Blob object to find how many holes are present in a specific part This means you will want to VGet the value of the Holes result for the Blob object The following SPEL program shows how VGet would be used in thi...

Page 197: ...trol to the next SPEL statement which follows VRun This improves the throughput of the overall cycle time by allowing other SPEL statements to execute while vision processing occurs For example the robot can move during vision processing or a calculation could be performed during this time Once VRun is executed VGet is normally used to get the results of the vision sequence such as part position d...

Page 198: ...quence Object Property value Sequence Name of a sequence or string variable containing a sequence name Calibration Name of the Calibration to set the property value for Object Name of the Object set the property value for Omit if setting property for sequence or calibration Property Name of the property to set a new value for value Expression for the new value The data type depends on the property...

Page 199: ...lled FindHoles has already been created prior to running this program FindHoles contains a Part Blob object which is configured to find the number of holes in the Search Window using Holes Result In this example we will run the sequence and then display the number of holes which were found NOTE When VSet is called from a program changes are only made in memory and are not saved After program execu...

Page 200: ...zontal position of the Point object in the image coordinate system This property is initially set to the X position where the user drops a newly created Point object However if a Point object is associated with another object in the sequence i e the PointType property is set to another vision object and not set to Screen then the X property for the Point object is automatically modified according ...

Page 201: ... Line object This property is initially set to the starting point X position where the user drops a newly created Line object However if a Point object is associated with another object in the sequence i e the StartPointType property is set to another vision object and not set to Screen then the X1 property for the Line object is automatically modified according to the associated property When the...

Page 202: ...f a Line object This property is initially set to the ending point X position where the user drops a newly created Line object However if a Point object is associated with another object in the sequence i e the EndPointType property is set to another vision object and not set to Screen then the X2 property for the Line object is automatically modified according to the associated property When the ...

Page 203: ...r var Calibration Name of a calibration or string variable containing a calibration name var Real variable that will contain the value of the result Values Real number in millimeters Remarks XAvgError is the average calibration error along the X axis detected during calibration See Also XMaxError XmmPerPixel YAvgError Vision Guide 5 0 Reference Ver 5 3 Rev 1 189 ...

Page 204: ...r var Calibration Name of a calibration or string variable containing a calibration name var Real variable that will contain the value of the result Values Real number in millimeters Remarks XMaxError is the maximum calibration error along the X axis detected during calibration See Also XAvgError XmmPerPixel YMaxError 190 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 205: ...tion XmmPerPixel var Calibration Name of a calibration or string variable containing a calibration name var Real variable that will contain the value of the result Values Real number in millimeters Remarks XmmPerPixel is the number of millimeters per pixel along the camera X axis See Also XAvgError XMaxError YmmPerPixel Vision Guide 5 0 Reference Ver 5 3 Rev 1 191 ...

Page 206: ...ing a calibration name var Real variable that will contain the value of the result Remarks XTilt is a relative value that indicates camera tilt along the camera X axis The directions are as viewed from the camera in the image coordinate system plus x is right A positive value indicates tilt to the right negative is tilt to the left See Also YTilt Result 192 Vision Guide 5 0 Reference Ver 5 3 Rev 1...

Page 207: ...vertical position of the Point object in the image coordinate system This property is initially set to the Y position where the user drops a newly created Point object However if a Point object is associated with another object in the sequence i e the PointType property is set to another vision object and not set to Screen then the Y property for the Point object is automatically modified accordin...

Page 208: ...bject The Y1 property is used to locate vertical position for the starting point of a Line object This property is initially set to the Y position where the user drops a newly created Line object However if a Point object is associated with another object in the sequence i e the StartPointType property is set to another vision object and not set to Screen then the Y1 property for the Line object i...

Page 209: ...ect The Y2 property is used to locate vertical position for the ending point of a Line object This property is initially set to the ending point Y position where the user drops a newly created Line object However if a Point object is associated with another object in the sequence i e the EndPointType property is set to another vision object and not set to Screen then the Y2 property for the Line o...

Page 210: ... name The object must exist in the specified sequence var Integer variable that will contain the value of the property value Integer expression for the new value of the property Values The value can range from 1 to the NumberToFind value for the YAxisPointObject If the YAxisPointObject is Screen then the value is always 1 Remarks Use the YAxisPntObjResult property to specify a result number other ...

Page 211: ...s can be used to find reference points on a part and then other vision objects can be located on the image with respect to the frame position defined The OriginPoint and YAxisPoint properties are used together to define a vision frame which has an origin at the OriginPoint and a Y axis direction defined by the YAxisPoint property It is important to note that for each specific vision sequence only ...

Page 212: ...YAxisPoint Property Frame Object Frame Property Object Tab OriginPoint Property 198 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 213: ... var Calibration Name of a calibration or string variable containing a calibration name var Real variable that will contain the value of the result Values Real number in millimeters Remarks YAvgError is the average calibration error along the Y axis detected during calibration See Also XAvgError YMaxError YmmPerPixel Vision Guide 5 0 Reference Ver 5 3 Rev 1 199 ...

Page 214: ... var Calibration Name of a calibration or string variable containing a calibration name var Real variable that will contain the value of the result Values Real number in millimeters Remarks YMaxError is the maximum calibration error along the Y axis detected during calibration See Also XMaxError YAvgError YmmPerPixel 200 Vision Guide 5 0 Reference Ver 5 3 Rev 1 ...

Page 215: ...tion YmmPerPixel var Calibration Name of a calibration or string variable containing a calibration name var Real variable that will contain the value of the result Values Real number in millimeters Remarks YmmPerPixel is the number of millimeters per pixel along the camera Y axis See Also XmmPerPixel YAvgError YMaxError Vision Guide 5 0 Reference Ver 5 3 Rev 1 201 ...

Page 216: ...on Name of a calibration or string variable containing a calibration name var Real variable that will contain the value of the result Remarks YTilt is a relative value that indicates camera tilt along the camera Y axis The directions are as viewed from the camera in the image coordinate system plus y is down A positive value indicates tilt down negative indicates tilt up See Also XTilt Result ...

Reviews: