- dev_update_off ()
- dev_close_window ()
- read_image (Image1, '')
- dev_open_window_fit_image (Image1, 0, 0, -1, -1, WindowHandle1)
- for index := 1 to 3 by 1
- read_image (Image1, 'C:/Users/86151/Desktop/1/注塑产品缺陷/'+index$'01')
- rgb1_to_gray (Image1, GrayImage)
- threshold (GrayImage, Regions, 4, 255)
- connection (Regions, ConnectedRegions)
- select_shape (ConnectedRegions, SelectedRegions1, 'area', 'and', 33977.1, 95493.6)
- reduce_domain (GrayImage, SelectedRegions1, ImageReduced)
- *最小外接圆
- smallest_circle (ImageReduced, Row1, Column1, Radius1)
- gen_circle (Circle1, Row1, Column1, Radius1-5)
- gen_circle (Circle2, Row1, Column1, Radius1-25)
- reduce_domain (ImageReduced, Circle1, ImageReduced1)
- reduce_domain (ImageReduced, Circle2, ImageReduced2)
- difference (ImageReduced1,ImageReduced2, RegionDifference1)
- reduce_domain (ImageReduced, RegionDifference1, ImageReduced3)
- threshold (ImageReduced3, Regions1, 6, 15)
- select_shape (Regions1, SelectedRegions1, 'area', 'and', 17.1327, 999.0)
- connection (SelectedRegions1, ConnectedRegions1)
- area_center (ConnectedRegions1, Area, Row, Column)
- dev_set_draw ('margin')
- dev_set_color ('red')
- dev_set_line_width (3)
- gen_rectangle2_contour_xld (Rectangle1, Row, Column, 0, 40, 40)
- dev_display(Image1)
- dev_display(SelectedRegions1)
- dev_display(Rectangle1)
- count_obj (SelectedRegions1, N)
- set_display_font (WindowHandle1, 20, 'mono', 'true', 'false')
- if(N==0)
- disp_message (WindowHandle1, 'OK', 'window', Row1, Column1, 'green', 'false')
- else
- disp_message (WindowHandle1, 'NG', 'window', Row1+30, Column1+30, 'red','false')
- endif
- disp_continue_message (WindowHandle1, 'black', 'true')
- endfor
- dev_clear_window()
复制代码
|