ConvertPixelToRealWorldCoordinates Method
Syntax
CWIMAQVision.ConvertPixelToRealWorldCoordinates CalibratedImage, PixelCoordinates, RealWorldCoordinatesReport
Return Type
On success, this method returns 0. On failure, this function returns a negative number.
Purpose
Transforms pixel coordinates to real world coordinates, according to the calibration information contained in the image.
Remarks
Use this method with image types U8, U16, I16, SGL, RGB32 and HSL32. Attach calibration information to this image using CWIMAQVision.LearnCalibrationGrid, CWIMAQVision.LearnCalibrationPoints, CWIMAQVision.SetSimpleCalibration, or CWIMAQVision.SetCalibrationInformation.
Parameters
CalibratedImage As CWIMAQImage
The calibrated image.
PixelCoordinates As CWIMAQPoints
The pixel coordinates to transform.
RealWorldCoordinatesReport As CWIMAQCoordinatesReport
On return, a CWIMAQCoordinatesReport containing information about the transformed coordinates.
Example
Private Sub Run_Click() Dim brokenLine As CWIMAQBrokenline Dim pixelCoordinates As CWIMAQPoints Dim report As New CWIMAQCoordinatesReport Dim j Dim CoordinatesValid Dim simpleCalibrationOptions As New CWIMAQSimpleCalibrationOptions Dim textOptions As New CWIMAQTextOptions Dim oval As New CWIMAQOval Dim point As New CWIMAQPoint Dim text As String ' Calibrate the image in Viewer1 simpleCalibrationOptions.GridDescriptor.XStep = 10 simpleCalibrationOptions.GridDescriptor.YStep = 10 simpleCalibrationOptions.GridDescriptor.Unit = cwimaqCalUnitMeter CWIMAQVision1.SetSimpleCalibration CWIMAQViewer1.Image, _ simpleCalibrationOptions ' Find the real-world coordinates corresponding to the coordinates of a ' broken line region selected on the image. Set brokenLine = CWIMAQViewer1.Regions(1) Set pixelCoordinates = brokenLine.Points CWIMAQVision1.ConvertPixelToRealWorldCoordinates CWIMAQViewer1.Image, _ pixelCoordinates, _ report 'Initialize the text options textOptions.ForeColor = vbWhite ' Display the real-world coordinates corresponding to the pixels in the image CWIMAQViewer1.Image.Overlays(1).Clear CoordinatesValid = report.CoordinatesValid For j = 1 To report.Coordinates.Count If CoordinatesValid(j - 1) Then oval.Initialize pixelCoordinates(j).X - 4, _ pixelCoordinates(j).Y - 4, 8, 8 point.Initialize pixelCoordinates(j).X, pixelCoordinates(j).Y - 8 text = "(" & report.Coordinates(j).X & "," & _ report.Coordinates(j).Y & ")" CWIMAQViewer1.Image.Overlays(1).DrawOval oval, cwimaqOverlayModePaint, vbRed CWIMAQViewer1.Image.Overlays(1).DrawText point, textOptions, text End If Next End Sub