首页
视频
资源
登录
原
Halcon 基础应用(1)
195
人阅读
2024/4/28 9:20
总访问:
2672299
评论:
0
收藏:
0
手机
分类:
Halcon
![](https://img.tnblog.net/arcimg/hb/0cebbc624ef24f6582d16debf7db6b30.png) >#Halcon 基础应用(1) [TOC] Halcon中的数组 ------------ ### 创建数组 ```bash ** 元组/数组 ** 创建一个数组 A := [] A[0] := 1 A[1] := 2 ``` ### 创建字典 ```bash ** 创建一个字典 dic:=dict{Name:'收拾'} ``` ![](https://img.tnblog.net/arcimg/hb/b8516864996140899354fb8d756f530e.png) ```bash ** 元组 B := [1,[1,2,3]] R := B * 2 ``` ![](https://img.tnblog.net/arcimg/hb/26f74a38314a4fa18181f7a3366eabc2.png) ### 相加 tn2>数组相加前提是:两个数组要一致 ```bash C:=[1,2,3] B:=[11,22,33] D:=B+C ** 求数组的长度 len := |D| ** 求元素的个数 tuple_length (D,len1) ** 通过下标获取元素值,下标是从0开始 value := D[2] ``` ![](https://img.tnblog.net/arcimg/hb/bbf1cd73eab44c13a2bcd74376f375d0.png) ### 批量赋值 ```bash A:=[10,20,30,40,50] A[6]:=100 *赋值 [100, 20, 30, 40, 50, 0, 100] A[0,2,3]:=99 *批量赋值 [99, 20, 99, 99, 50, 0, 100] *下标是要赋值的位置序号 B:=[10:15] *[10, 11, 12, 13, 14, 15] *B的值为10到15的连续值 B1:=[10:2:20] *[10, 12, 14, 16, 18, 20] *B1的值为10到20的连续值,步长为2,步长可以为负数 ``` ![](https://img.tnblog.net/arcimg/hb/43e7ae40806f4388a4d74241e9b0cdbd.png) ### 元组操作 ```bash A:=[10,30,20,40,50] B:=[1,30,20,4,5] tuple_union(A,B,C) *C的值为 [1, 4, 5, 10, 20, 30, 40, 50] *两个数组进行合并操作,并自动排序【对两个数组进行并集操作】 *注意:合并时重复的元素只出现一次 tuple_intersection(A,B,D) *D的值为 [20, 30] *对两个数组进行交集操作,并自动排序 tuple_replace (A, [0,2], ['100','200'], E) *E的值为 ['100', 30, '200', 40, 50] *替换操作 *参数2:要替换的位置序号 *参数3:要替换的值 *参数4:替换后保存的数组变量 tuple_insert (A, 3, '500', F) *F的值为 [10, 30, 20, '500', 40, 50] *插入元素 *参数2:插入的位置序号 *参数3:插入的值 *参数4:插入后保存的数组变量 ``` ![](https://img.tnblog.net/arcimg/hb/f8a203e0b029455993216b162e46bb55.png) ```bash **数组的初始化 A := [1,2,3,4] **定义空数组,逐渐追加元素 A :=[ ] for i :=0 to 4 by 1 A:= [A,i] endfor **连接两个tuple数组到第三个tuple中 tuple1[0] := 1 tuple2[0] := 3 tuple_concat(tuple1,tuple2, Concat) **返回一个随机数tuple数组,数值分布在[0,1)之间 tuple_rand(5,tmp) **生成一个指定长度和初始化值的数组 tuple_gen_const(5, 100, Result ) **初始化数组,指定开始值,终止值,步长,得到sequence tuple_gen_sequence (1, 20, 2, Sequence) ``` ![](https://img.tnblog.net/arcimg/hb/966efe9e93b34a0baa5275863978729d.png) ![](https://img.tnblog.net/arcimg/hb/5a4e1631937642c18401c907402680f4.jpg) ```bash i1:=123$'#o' *$'#o' 十进制转换成8进制数据 *'0173' 0为前缀 i2:=123$'#x' *$'#x' 十进制转换成16进制数据 *'0x7b' 0x为前缀 字母小写 i3:=123$'#X' *$'#X' 十进制转换成16进制数据 *'0X7B' 0X为前缀 字母大写 i4:=123$'#f' * double型,默认保留小数点后六位 * '123.000000' i5:=123$'#g' *'123.000' 使数字始终保持六位,不足补零 i6:=12345678$'#g' * '1.23457e+007' i7:=123$'#G' *'123.000' 使数字始终保持六位,不足补零 i8:=12345678$'#G' * '1.23457E+007' i9:=5432178$'#e' *$'#e' 转换成科学计数 '5.432178e+006' i10:=5432178$'#E' *$'#E' 转换成科学计数 '5.432178E+006' i11:=2.7$'6' *$'6' 小于六位时,文本右对齐,大于不影响 * ' 2.7' i12:=2.7$'-6' *$'-6' 小于六位时,文本左对齐,大于不影响 * '2.7 ' i13:=2$'.6' *小于六位时,在左补零,大于不影响 * '000002' *注意:针对整数,小数无效 i14:=2.8$'.6' *'2.8' 小数无效 i15:=267$'10.6' *小于十位时,文本右对齐;小于6位则在左补零,大于不影响 *' 000267' i16:=26.7$'10.6' *注意:补零功能针对整数,小数无效 *' 26.7' ``` ![](https://img.tnblog.net/arcimg/hb/27f51828fb2a4330b1bc406132914d00.png) Halcon文件操作 ------------ ```bash dev_get_window (WindowHandle) * 遍历文件夹 list_files ('C:/Users/Gerry/Desktop/halcon deeplearn/Train_images', ['files', 'recursive'], Files) list_image_files ('C:/Users/Gerry/Desktop/halcon deeplearn/Train_images/梨', 'default', [], ImageFiles) * 筛选bmp及jmp格式的图片 tuple_regexp_select(ImageFiles, ['\\.(bmp|jpg)$','ignore_case'], Files) * 打开窗口 dev_open_window (0, 0, 512, 512, 'black', WindowHandle1) * 依次读取所选图片并显示 在窗口中 for Index := 0 to |ImageFiles| - 1 by 1 read_image (Image, ImageFiles[Index]) dev_display(Image) * 分割文件名 parse_filename(ImageFiles[Index], BaseName, Extension, Directory) * 保存图片,给出路径及名称,新文件名为在原文件名后添加_adj dump_window(WindowHandle,'bmp',Directory + BaseName + '_adj') stop () endfor ``` ![](https://img.tnblog.net/arcimg/hb/9bf5838c25f54c7a8f3c101f8d52655e.png) tn2>继续F5可以跳入下一张图片 ![](https://img.tnblog.net/arcimg/hb/1de9bf9757ef4d59b8c9e3cbd278b189.png) ### 图像读取 ```bash read_image (Image, 'printer_chip/printer_chip_02') read_image (Image1, ['printer_chip/printer_chip_01', 'printer_chip/printer_chip_05']) ** 选择对象中目录 select_obj (Image1, ObjectSelected, 1) ** 统计对象中目录数量 count_obj (Image1, Number) ``` ![](https://img.tnblog.net/arcimg/hb/867459c0b3da4a1f809af75936dbe26e.png)
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739
👈{{preArticle.title}}
👉{{nextArticle.title}}
评价
{{titleitem}}
{{titleitem}}
{{item.content}}
{{titleitem}}
{{titleitem}}
{{item.content}}
尘叶心繁
这一世以无限游戏为使命!
博主信息
排名
6
文章
6
粉丝
16
评论
8
文章类别
.net后台框架
171篇
linux
17篇
linux中cve
1篇
windows中cve
0篇
资源分享
10篇
Win32
3篇
前端
28篇
传说中的c
4篇
Xamarin
9篇
docker
15篇
容器编排
101篇
grpc
4篇
Go
15篇
yaml模板
1篇
理论
2篇
更多
Sqlserver
4篇
云产品
39篇
git
3篇
Unity
1篇
考证
2篇
RabbitMq
23篇
Harbor
1篇
Ansible
8篇
Jenkins
17篇
Vue
1篇
Ids4
18篇
istio
1篇
架构
2篇
网络
7篇
windbg
4篇
AI
18篇
threejs
2篇
人物
1篇
嵌入式
4篇
python
13篇
HuggingFace
8篇
pytorch
9篇
opencv
6篇
Halcon
5篇
最新文章
最新评价
{{item.articleTitle}}
{{item.blogName}}
:
{{item.content}}
关于我们
ICP备案 :
渝ICP备18016597号-1
网站信息:
2018-2024
TNBLOG.NET
技术交流:
群号656732739
联系我们:
contact@tnblog.net
欢迎加群
欢迎加群交流技术