halcon------图像读取

图像读取与处理技巧
本文详细介绍使用不同方法从本地读取单张或多张图片的过程,包括直接读取指定路径的图片、批量读取编号连续的图片以及遍历文件夹(含子文件夹)读取所有支持格式的图片。此外,还提供了利用正则表达式筛选特定类型图片的方法。
1、本地图片读取

① 单张读取
read_image (Image, 'C:/Users/Administrator/Desktop/1.png')

② 编号连续的图片读取(000、001、002……)

for i := 3 to 6 by 1
  read_image (Image, 'C:/Users/Administrator/Desktop/pic/' + i$'.3' + '.jpg')

endfor

////////////////////////////////////////////////////////////////////////另一种读取方式////////////////////////////////////////////////////////////////////

list_files('地址+文件名',‘files’,存储名)
for i=0 to N by 1
      read_image(image_read,image[i])
      dev_display(image_read)
 endfor
 //////////////////////////////////////////////////////////////////////////////////////////////////////


③ 读取文件夹(及子文件夹)下全部图片

 
list_files ('D:/photo', ['files','follow_links'], ImageFiles)
tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima)$','ignore_case'], ImageFiles)
for Index := 0 to |ImageFiles| - 1 by 1
  read_image (Image, ImageFiles[Index])
endfor

 

 算子list_files中可以有多个参数,例如:

'directories':读取文件夹
'recursive':递归,读取子文件夹里面的文件
'max_depth 3':支持3级文件目录深度的文件检索
'max_files 1000':最大文件数目不超过1000个

……
HALCON是一个用于机器视觉和图像处理的库,广泛应用于工业自动化、质量控制等领域。HALCON-12.0提供了C++接口,使得开发者可以在C++环境中使用HALCON的功能。 以下是HALCON-12.0 C++的一些基本用法: 1. 初始化和配置环境:在使用HALCON之前,需要先初始化HALCON环境,并设置相应的参数。例如: ```cpp HTuple hv_WindowID; SetSystem("width", 512); SetSystem("height", 512); OpenWindow(0, 0, 512, 512, 0, "visible", "", &hv_WindowID); ``` 2. 读取和显示图像:可以使用`ReadImage`函数来读取图像,然后使用`DispObj`函数来显示图像。例如: ```cpp HObject ho_Image; ReadImage(&ho_Image, "example.png"); DispObj(ho_Image, hv_WindowID); ``` 3. 图像处理操作:HALCON提供了丰富的图像处理功能,如滤波、边缘检测、形态学操作等。例如,使用Sobel算子进行边缘检测: ```cpp HObject ho_Edges; SobelAmp(ho_Image, &ho_Edges, "sum_abs", 3); DispObj(ho_Edges, hv_WindowID); ``` 4. 特征提取和匹配:HALCON支持多种特征提取和匹配算法,如Harris角点检测、SIFT特征等。例如,使用Harris角点检测: ```cpp HTuple hv_Row, hv_Column; HarrisCorners(ho_Image, &hv_Row, &hv_Column, 1, 0.01, "nms", 5, "threshold", 0.0001); DispCross(hv_WindowID, hv_Row, hv_Column, 5, 0); ``` 5. 清理资源:在程序结束时,应该关闭窗口并释放所有资源。例如: ```cpp CloseWindow(hv_WindowID); ``` 以上是HALCON-12.0 C++的一些基本用法示例。根据具体的应用需求,可以查阅HALCON的官方文档和API参考手册,了解更多高级功能和详细的参数说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值