基于halcon的凹痕检测

x33g5p2x  于2021-12-08 转载在 其他  
字(2.7k)|赞(0)|评价(0)|浏览(319)

测试图

代码

* This procedure displays text in a graphics window.
* 
* Input parameters:
* WindowHandle: The WindowHandle of the graphics window, where
*    the message should be displayed
* String: A tuple of strings containing the text message to be displayed
* CoordSystem: If set to 'window', the text position is given
*    with respect to the window coordinate system.
*    If set to 'image', image coordinates are used.
*    (This may be useful in zoomed images.)
* Row: The row coordinate of the desired text position
*    A tuple of values is allowed to display text at different
*    positions.
* Column: The column coordinate of the desired text position
*    A tuple of values is allowed to display text at different
*    positions.
* Color: defines the color of the text as string.
*    If set to [], '' or 'auto' the currently set color is used.
*    If a tuple of strings is passed, the colors are used cyclically...
*    - if |Row| == |Column| == 1: for each new textline
*    = else for each text position.
* Box: If Box[0] is set to 'true', the text is written within an orange box.
*      If set to' false', no box is displayed.
*      If set to a color string (e.g. 'white', '#FF00CC', etc.),
*        the text is written in a box of that color.
*      An optional second value for Box (Box[1]) controls if a shadow is displayed:
*        'true' -> display a shadow in a default color
*        'false' -> display no shadow
*        otherwise -> use given string as color string for the shadow color
* 
* It is possible to display multiple text strings in a single call.
* In this case, some restrictions apply:
* - Multiple text positions can be defined by specifying a tuple
*   with multiple Row and/or Column coordinates, i.e.:
*   - |Row| == n, |Column| == n
*   - |Row| == n, |Column| == 1
*   - |Row| == 1, |Column| == n
* - If |Row| == |Column| == 1,
*   each element of String is display in a new textline.
* - If multiple positions or specified, the number of Strings
*   must match the number of positions, i.e.:
*   - Either |String| == n (each string is displayed at the
*                           corresponding position),
*   - or     |String| == 1 (The string is displayed n times).
* 
* 
* Convert the parameters for disp_text.
if (Row == [] or Column == [])
    return ()
endif
if (Row == -1)
    Row := 12
endif
if (Column == -1)
    Column := 12
endif
* 
* Convert the parameter Box to generic parameters.
GenParamName := []
GenParamValue := []
if (|Box| > 0)
    if (Box[0] == 'false')
        * Display no box
        GenParamName := [GenParamName,'box']
        GenParamValue := [GenParamValue,'false']
    elseif (Box[0] != 'true')
        * Set a color other than the default.
        GenParamName := [GenParamName,'box_color']
        GenParamValue := [GenParamValue,Box[0]]
    endif
endif
if (|Box| > 1)
    if (Box[1] == 'false')
        * Display no shadow.
        GenParamName := [GenParamName,'shadow']
        GenParamValue := [GenParamValue,'false']
    elseif (Box[1] != 'true')
        * Set a shadow color other than the default.
        GenParamName := [GenParamName,'shadow_color']
        GenParamValue := [GenParamValue,Box[1]]
    endif
endif
* Restore default CoordSystem behavior.
if (CoordSystem != 'window')
    CoordSystem := 'image'
endif
* 
if (Color == '')
    * disp_text does not accept an empty string for Color.
    Color := []
endif
* 
disp_text (WindowHandle, String, CoordSystem, Row, Column, Color, GenParamName, GenParamValue)
return ()

结果

相关文章