Halcon遍历数组报错

注意要加括号 (|Column| - 1)

for Index := 0 to (|Column| - 1) by 1
    a := Row[Index]
endforA

``` dev_update_off() dev_close_window() * 1. 设置图像路径并获取文件列表 ImagePath := 'E:/毕业论文/瓶盖图/' list_image_files(ImagePath, 'default', [], ImageFiles) *自动识别常见图像格式 if (|ImageFiles| == 0) throw('错误:未找到任何图像文件!') endif * 2. 准备显示窗口(根据第一幅图像尺寸) read_image (FirstImage, ImageFiles[1]) get_image_size (FirstImage, Width, Height) dev_open_window (0, 0, 600, 400, 'black', WindowHandle) set_display_font (WindowHandle, 16, 'mono', 'true', 'false') dev_set_draw ('margin') dev_set_line_width (2) * 3. 创建处理进度显示 dev_open_window (0, 620, 300, 100, 'black', ProgWindow) set_display_font (ProgWindow, 14, 'mono', 'true', 'false') * 4. 历所有图像文件 for FileIndex := 1 to |ImageFiles| by 1 * 4.1 显示处理进度 dev_set_window (ProgWindow) dev_clear_window () ProgressMsg := '处理进度:' + (FileIndex+1)$'d' + '/' + |ImageFiles|$'d' disp_message (ProgWindow, ProgressMsg, 'window', 12, 12, 'white', 'false') * 4.2 读取并处理当前图像 read_image(Image, ImageFiles[FileIndex]) dev_set_window (WindowHandle) dev_clear_window () * 预处理流程 decompose3 (Image, R, G, B) trans_from_rgb (R, G, B, H, S, V, 'hsv') gauss_filter (V, VFiltered, 5) * 瓶盖区域定位(增加错误处理) threshold (VFiltered, Regions, 80, 255) connection (Regions, ConnectedRegions) select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 5000, 9999999) count_obj (SelectedRegions, NumRegions) if (NumRegions == 0) * 显示错误信息并跳过 dev_display (Image) disp_message (WindowHandle, '瓶盖定位失败:未找到有效区域', 'window', 12, 12, 'red', 'true') disp_continue_message (WindowHandle, 'white', 'true') * 参数说明:窗口句柄 | 文字颜色 | 是否显示倒计时(true/false) wait_key(0) continue endif fill_up (SelectedRegions, RegionFillUp) shape_trans (RegionFillUp, CapRegion, 'convex') * 缺陷检测流程 * ...(与原检测流程保持一致,此处省略重复代码)... * 显示处理结果 dev_display (Image) dev_set_color ('green') dev_display (CapRegion) * 瓶盖定位失败分支: if (NumRegions == 0) dev_display (Image) disp_message (WindowHandle, '瓶盖定位失败:未找到有效区域', 'window', 12, 12, 'red', 'true') disp_continue_message (WindowHandle, 'white', '按任意键继续...') wait_key(0) continue endif * 处理间隔控制: if (FileIndex < |ImageFiles|-1) disp_continue_message (WindowHandle, 'white', '自动继续倒计时...') wait_seconds(1) endif endfor * 5. 处理完成提示 dev_set_window (ProgWindow) dev_clear_window () disp_message (ProgWindow, '批量处理完成!', 'window', 12, 12, 'green', 'true')```wait_key( : : : Key)错误:‘要求参数表达式’[21141]位置;19到27
最新发布
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值