halcon算子

1*读取图片算子

*Image 输出参数 读取图片之后 把图片赋值给image这个变量

*'printer_chip/printer_chip_01'相对路径

read_image (Image, 'printer_chip/printer_chip_01')

2*阈值分割(blobopen_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'printer_chip/printer_chip_01', 'default', 1, -1, AcqHandle)

grab_image_start (AcqHandle, -1))

*参数1输入图片

*参数2 输出的区域

*参数3和参数4提取的范围

threshold (Image2, Region, 10, 80)

连通区域

*参数1输入参数传入的区域

*参数2 输入参数 分割之后的区域数组

connection (Region, ConnectedRegions)

*筛选合适的区域

*1输入的连通区域

*2输出的分割之后的区域

*3筛选的属性 area:面积

*5、6最小值和最大值

select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 5000, 99999)

*打开图像采集接口

open_framegrabber ('File', 1, 1, 0, 0, 0, 0, 'default', -1, 'default', -1, 'false', 'printer_chip/printer_chip_01', 'default', 1, -1, AcqHandle)

grab_image_start (AcqHandle, -1)//开始

深度解析

'File', // 采集接口类型:File=从文件读取(不是相机)

1, 1, // 横向/纵向图像部分(默认1=全图)

0, 0, 0, 0, // 图像起始坐标、宽高(默认0=自动)

'default', // 端口

-1, // 图像通道数(-1=自动)

'default', // 采集格式

-1, // 比特深度

'false', // 异步采集

'printer_chip/printer_chip_01', // 图像文件路径/前缀

'default', // 设备参数

1, // 帧率

-1, // 超时时间

AcqHandle // 输出:采集句柄(后续操作的唯一标识)

close_framegrabber (AcqHandle)//关闭

《基础知识》

halcon的数据类型:图形变量,控制变量

*图片变量:图片类型(image),区域(region)轮廓类型,

*控制变量:基本数据类型(整型,浮点类型,字符串类型bool类型),句柄,元组类型

*获取窗口的句柄

dev_get_window (WindowHandle)

*基本数据类型

*:=赋值的方式

a:=100//integer

b:=10.2//number

c:='12'//string

d:=true//布尔值转换成1或者0

*3数组类型

arr:=[]//空数组

arr1:=[1,2,3]//

f:=arr1[0]

arr2:=[1,true,'您好']

arr3:=[0:10]//从0开始到10结束 每次递增1

arr4:=[0:10:100]//从0开始到100结束 每次递增10

arr5:=[0:-10:-100]//从0开始到-100结束 每次递增-10

length:=|arr5|//数组的长度

*4 tuple常用的一些函数

tuple_abs(-10,Abs)//绝对值

tuple_add(3,10,Sum)//求和

tuple_ceil(1.1,Ceil)//向上求整

tuple_floor(1.1,A)//向下求整

tuple_concat(10,'你好',Conact)//合并到一个数组

tuple_remove (Conact, 1, Reduced)//移除指定位置的元素

tuple_is_number (Reduced, IsNumber)//判断数组中的元素是否是数字类型

*运算符号

a1:=10

a1:=a1+30

a1:=a1-10

a1:=a1*10

a1:=a1/9

a1:=a1%9

*流程控制

dev_clear_window()//清空窗体

a2:=90

a3:=9

if(a2#a3)//==相等//#不等 !=不等

*展示文本,展示字符,在窗口上展示,左上展示.黑色的字体

*[属性名],[属性值]预留参数

*shadow_color盒子阴影

dev_disp_text ('hello', 'window', 0, 100, 'black', ['box_color','shadow_color'], ['red','red'])

*参数1 窗体的句柄

*2内容

*3展示窗体上

*4/5坐标

*6颜色

*7/8预留参数

disp_text (WindowHandle, '非常优秀', 'window', 12, 12, 'black', [], [])

*for循环

*从1到5 每次叠加1

sum1:=0

for Index := 1 to 100 by 1

sum1:=sum1+Index

*8 while循环

count:=0

while (1)

count:=count+1

dev_disp_text (count, 'window', 90, 1+count*50, 'black', ['box_color','shadow_color'], ['red','red'])

if (count>10)

break

endif

endwhile

week:=1

*9switch 条件判断

switch(week)

case 1:

dev_disp_text ('周一', 'window', 200, 300, 'black', ['box_color','shadow_color'], ['red','red'])

break

case 2:

dev_disp_text ('周二', 'window', 200, 300, 'black', ['box_color','shadow_color'], ['red','red'])

break

default:

dev_clear_window()

break

endswitch

相关推荐
搞科研的小刘选手2 分钟前
【高届数传感机电会议】第十二届传感器、机电一体化和自动化系统国际学术研讨会(ISSMAS 2026)
运维·人工智能·自动化·控制·传感器·传感·机电
治数有道3 分钟前
AI时代下:降本增效的具象化诱惑
人工智能
一次旅行7 分钟前
今日AI科技新闻总结
人工智能·科技
这张生成的图像能检测吗8 分钟前
(论文速读)Sonnet:多变量时间序列预测的谱算子神经网络
人工智能·深度学习·时序预测·时序模型
地球资源数据云10 分钟前
1900-2023年中国物种分布点位矢量数据集
大数据·数据结构·数据库·数据仓库·人工智能
littleM18 分钟前
OpenClaw vs HermesAgent 对比分析系列
人工智能·架构·ai编程
楼兰公子19 分钟前
读取rpi摄像头
linux·服务器·算法
AI医影跨模态组学21 分钟前
Research(IF=10.9)南方医科大学珠江医院汪洋教授等团队:深度学习在脊柱MRI诊断中的应用:AI辅助与人工的多中心对比研究
人工智能·深度学习·论文·医学影像·影像组学
渡之21 分钟前
NaviLoc - GNSS 拒止环境下无人机空对地卫星视觉定位算法 论文整理
算法·无人机·飞控
Zldaisy3d25 分钟前
上交大特材所 l 增材制造多层级功能结构综述
人工智能