Herror ::gen_measure_rectangle2 (
const HTuple &Row,
const HTuple &Column,
const HTuple &Phi,
const HTuple &Length1,
const HTuple &Length2,
const HTuple &Width,
const HTuple &Height,
const HTuple &Interpolation,
long *MeasureHandle
)
Prepare the extraction of straight edges perpendicular to a rectangle.
::gen_measure_rectangle2 prepares the extraction of
straight edges which lie perpendicular to the major
axis of a rectangle. The center of the rectangle is passed in the
parameters Row and Column, the direction of the
major axis of the rectangle in Phi, and the length of the
two axes, i.e., half the diameter of the rectangle, in
Length1 and Length2.
The edge extraction algorithm is described in the documentation of
the operator ::measure_pos. As discussed there, different
types of interpolation can be used for the calculation of the
one-dimensional gray value profile. For Interpolation =
'nearest_neighbor', the gray values in the measurement are
obtained from the gray values of the closest pixel, i.e., by
constant interpolation. For Interpolation =
'bilinear', bilinear interpolation is used, while for
Interpolation = 'bicubic', bicubic interpolation
is used.
With ::gen_measure_rectangle2, all computations which can be
used for multiple measurements are removed from the actual
measurement. To effect this, an optimized data structure, a
so-called measure object, is constructed and returned in
MeasureHandle. In order to perform the measurement at the
optimum speed, the size of the images for which subsequent
measurements will be made must already be specified in
::gen_measure_rectangle2 with the parameters Width
and Height. This technique increases the speed of the
actual measurement significantly.
Parameters
Row (input_control)
|
rectangle2.center.y -> HTuple.double / long
|
|
Row coordinate of the center of the rectangle. |
|
Default value: 50.0 |
|
Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0 |
|
Typical range of values: 0.0 <= Row <= 511.0 (lin) |
|
Minimum increment: 1.0
|
Recommended increment: 10.0
|
Column (input_control)
|
rectangle2.center.x -> HTuple.double / long
|
|
Column coordinate of the center of the rectangle. |
|
Default value: 100.0 |
|
Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0 |
|
Typical range of values: 0.0 <= Column <= 511.0 (lin) |
|
Minimum increment: 1.0
|
Recommended increment: 10.0
|
Phi (input_control)
|
rectangle2.angle.rad -> HTuple.double / long
|
|
Angle of longitudinal axis to horizontal (radians). |
|
Default value: 0.0 |
|
Suggested values: -1.178097, -0.785398, -0.392699, 0.0, 0.392699, 0.785398, 1.178097 |
|
Typical range of values: -1.178097 <= Phi <= 1.178097 (lin) |
|
Minimum increment: 0.001
|
Recommended increment: 0.1
|
|
Restriction: (- pi < Phi) && (Phi <= pi) |
Length1 (input_control)
|
rectangle2.hwidth -> HTuple.double / long
|
|
Half width. |
|
Default value: 200.0 |
|
Suggested values: 3.0, 5.0, 10.0, 15.0, 20.0, 50.0, 100.0, 200.0, 300.0, 500.0 |
|
Typical range of values: 0.0 <= Length1 <= 511.0 (lin) |
|
Minimum increment: 1.0
|
Recommended increment: 10.0
|
Length2 (input_control)
|
rectangle2.hheight -> HTuple.double / long
|
|
Half height. |
|
Default value: 100.0 |
|
Suggested values: 1.0, 2.0, 3.0, 5.0, 10.0, 15.0, 20.0, 50.0, 100.0, 200.0 |
|
Typical range of values: 0.0 <= Length2 <= 511.0 (lin) |
|
Minimum increment: 1.0
|
Recommended increment: 10.0
|
|
Restriction: Length2 <= Length1 |
Width (input_control)
|
extent.x -> HTuple.long
|
|
Width of the image to be processed subsequently. |
|
Default value: 512 |
|
Suggested values: 128, 160, 192, 256, 320, 384, 512, 640, 768 |
|
Typical range of values: 0 <= Width <= 1024 (lin) |
|
Minimum increment: 1
|
Recommended increment: 16
|
Height (input_control)
|
extent.y -> HTuple.long
|
|
Height of the image to be processed subsequently. |
|
Default value: 512 |
|
Suggested values: 120, 128, 144, 240, 256, 288, 480, 512, 576 |
|
Typical range of values: 0 <= Height <= 1024 (lin) |
|
Minimum increment: 1
|
Recommended increment: 16
|
Interpolation (input_control)
|
string -> HTuple.char *
|
|
Type of interpolation to be used. |
|
Default value: 'nearest_neighbor' |
|
List of values: 'nearest_neighbor', 'bilinear', 'bicubic' |
MeasureHandle (output_control)
|
measure_id -> long *
|
|
Measure object handle. |
Result
If the parameter values are correct the operator
::gen_measure_rectangle2 returns the value H_MSG_TRUE.
Otherwise an exception handling is raised.
Possible Predecessors
::draw_rectangle2
Possible Successors
::measure_pos,
::measure_pairs
Alternatives
::edges_sub_pix
Module
Sub-pixel operators
Copyright © 1996-2002 MVTec Software GmbH