项目进行到第四天,我们学到了很多,可以进行实操。
首先我们利用相机软件进行采图
然后导入代码里面
完整代码
dev_get_window (WindowHandle)
list_image_files ('采图', 'default', [], ImageFiles)
for Index := 0 to |ImageFiles| - 1 by 1
read_image (Image, ImageFiles[Index])
* Image Acquisition 01: Do something
decompose3 (Image, ImageR, ImageG, ImageB)
*分割正面的物块
threshold (ImageR, Region, 72, 130)
connection (Region, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions,\
'area', 'and', 30000,45000)
count_obj (SelectedRegions, Number)
dev_display (Image)
if (Number != 0)
* 正面
result:='OK'
color:='green'
area_center (SelectedRegions, Area, Row, Column)
gen_cross_contour_xld (Cross, Row, Column, 50, 0.785398)
smallest_rectangle2 (SelectedRegions, Row1, Column1, Phi, Length1, Length2)
gen_rectangle2_contour_xld (Rectangle, Row1, Column1, Phi, Length1, Length2)
dev_set_line_width(5)
dev_display (Rectangle)
dev_display (Cross)
else
* 反面
result:='NG'
color:='red'
endif
disp_message (WindowHandle, result, 'window', 12, 12, color, 'true')
stop()
endfor
里面不懂的代码,其实前面已经提过了,这里不再多说。
接着使用VS2022打开工程文件
打开机械臂控制软件并进行连接
运行代码
最终实现机械臂自动抓取物块(正面朝上的物块)