Halcon判断一个点是否在某个区域

来源:互联网 发布:结构的刚度矩阵 编辑:程序博客网 时间:2024/06/05 09:43
* Index of all regions containing a given pixel* read_image (Image, 'fabrik')dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowID)dev_set_color ('white')dev_set_draw ('fill')* Segment an image using regiongrowingregiongrowing (Image, Regions, 1, 1, 3, 400)Button := 1dev_set_color ('red')while (Button == 1)    * Click with the mouse on the region to be selected    * Quit the loop with the right mouse button    get_mbutton (WindowID, Row, Column, Button)    get_region_index (Regions, Row, Column, Index)    if (Index != [])        select_obj (Regions, ObjectSelected, Index)    endifendwhile
* * This example program shows how to use select_xld_point.* * Color code:* red - test point* white - contours, selected* dim gray - contours, not selected* * * dev_close_window ()dev_open_window (0, 0, 512, 512, 'black', WindowHandle)* * * PointRow := 100.0PointCol := 100.0gen_contour_polygon_xld (Contours, [50,50,150,150,50], [50,150,150,50,50])gen_contour_polygon_xld (Contour2, [50,50,150,150,50], [200,300,300,200,200])concat_obj (Contours, Contour2, Contours)select_xld_point (Contours, SelectedContours, PointRow, PointCol)gen_cross_contour_xld (Cross, PointRow, PointCol, 6, 0.785398)dev_clear_window ()dev_set_color ('dim gray')dev_display (Contours)dev_set_color ('white')dev_display (SelectedContours)dev_set_color ('red')dev_display (Cross)stop ()* * * * Contours that are not closed will be closed automatically.* Therefore, the selection for the open contours is exactly* the same as in the previous example.* PointRow := 100.0PointCol := 100.0gen_contour_polygon_xld (Contours, [50,50,150,150], [50,150,150,50])gen_contour_polygon_xld (Contour2, [50,50,150,150], [200,300,300,200])concat_obj (Contours, Contour2, Contours)select_xld_point (Contours, SelectedContours, PointRow, PointCol)gen_cross_contour_xld (Cross, PointRow, PointCol, 6, 0.785398)dev_clear_window ()dev_set_color ('dim gray')dev_display (Contours)dev_set_color ('white')dev_display (SelectedContours)dev_set_color ('red')dev_display (Cross)stop ()* * * * Intersecting line segments may cause holes in a polygon. Note that* line segments in real world applications will practically never intersect.* PointRow := 200.0PointCol := 200.0gen_contour_polygon_xld (Contours, [50,50,250,250,150,150,350,350,50], [50,250,250,150,150,350,350,50,50])select_xld_point (Contours, SelectedContours, PointRow, PointCol)gen_cross_contour_xld (Cross, PointRow, PointCol, 6, 0.785398)dev_clear_window ()dev_set_color ('dim gray')dev_display (Contours)dev_set_color ('white')dev_display (SelectedContours)dev_set_color ('red')dev_display (Cross)stop ()* * * * Points lying directly on one of the contour's line segments* cannot be classified reliably.* PointRow := 200.0PointCol := 200.0gen_contour_polygon_xld (Contours, [150,150,250,250,150], [100,200,200,100,100])gen_contour_polygon_xld (Contour2, [100,100,200,200,100], [150,250,250,150,150])concat_obj (Contours, Contour2, Contours)gen_contour_polygon_xld (Contour3, [150,150,250,250,150], [200,300,300,200,200])concat_obj (Contours, Contour3, Contours)gen_contour_polygon_xld (Contour4, [200,200,300,300,200], [150,250,250,150,150])concat_obj (Contours, Contour4, Contours)select_xld_point (Contours, SelectedContours, PointRow, PointCol)gen_cross_contour_xld (Cross, PointRow, PointCol, 6, 0.785398)dev_clear_window ()dev_set_color ('dim gray')dev_display (Contours)dev_set_color ('white')dev_display (SelectedContours)dev_set_color ('red')dev_display (Cross)
阅读全文
0 0
原创粉丝点击