HALCON编程及工程应用 第4章 HALCON图像采集

合集下载

工业机器视觉基础教程-halcon篇

工业机器视觉基础教程-halcon篇

工业机器视觉基础教程-halcon篇工业机器视觉是指应用机器视觉技术在工业生产中,实现产品质量检测、工业自动化等一系列目标。

而HALCON则是一款功能齐全、具备丰富图像处理库的应用授权软件。

本文将介绍HALCON图像处理中的基本操作和应用。

一、HALCON图像处理的基本操作1.图像加载:使用read_image操作,该操作可以加载多种图像格式的图片文件。

如:read_image(Image, “test.jpg”)。

2.图像显示:使用disp_image操作可以对加载图像进行可视化处理并显示在界面上。

如:disp_image(Image)。

3.图像缩放:resize_image操作可以对图像进行缩放处理,缩放后的图像尺寸可以根据需求调整。

如:resize_image(Image,Image2,800,600,”bilinear”)。

4.图像灰度化:使用rgb1_to_gray操作可以将彩色图像转化为灰度图像。

如:rgb1_to_gray(Image,Image2)。

5.边缘检测:使用edge_image操作可以对图像进行边缘检测,检测出目标区域的轮廓和边缘。

如:edge_image(Image,Image2,”canny”)。

6.形态学操作:morph_operator操作可以对图像进行形态学操作,如膨胀、腐蚀、开、闭等。

如:morph_operator(Image,Image2,”dilation”,5)。

7.颜色分割:color_segmentation操作可以根据像素的颜色信息进行分割处理,一般是针对彩色图像。

如:color_segmentation (Image,Image2,“HSV”,[1, 0,0],[255, 255, 255])。

二、HALCON图像处理的应用1.工业质检:HALCON图像处理可以应用于工业质检领域,在生产线上进行产品质量检测,包括外观、尺寸、缺陷等。

2.智能制造:HALCON图像处理可以实现机器视觉智能制造,根据生产工艺流程和生产数据进行智能制造调节和优化。

MFC调用HALCON实现相机采图和图像显示

MFC调用HALCON实现相机采图和图像显示

MFC调用HALCON实现相机采图和图像显示一、相机采图1、查询设备信息HTuple Information, Values;info_framegrabber("GigEVision", "device", &Information, &Values);Information用来获取相机信息Values用来获取相机名称2、打开相机HTuple m_hFrameGrabber; //相机句柄open_framegrabber("GigEVision",0,0,0,0,0,0,"progressive",-1,"default",-1,"false","default",Values[0],0,-1,&m_hFrameGrabber);打开第二个相机open_framegrabber("GigEVision",0,0,0,0,0,0,"progressive",-1,"default",-1,"false","default",Values[1],0,-1,&m_hFrameGrabber);注意相机名的调用方法。

3、获取相机参数HTuple m_ImageWidth;get_framegrabber_param(m_hFrameGrabber,"m_ImageWidt h",&m_ImageWidth);4、单帧抓取Hobject * pImage; //图片指针grab_image(pImage,m_hFrameGrabber);由于grab_image函数不能中断执行,因此在多线程中调用时,需要注意对它的原子保护。

Halcon采集图像ImageAcquisition解析

Halcon采集图像ImageAcquisition解析

Halcon采集图像ImageAcquisition解析很明显,图像的采集是所有机器视觉应⽤中必须解决的问题,HALCON提供了为各种图像采集设备执⾏这种交互的接⼝,图像采集的任务被简化为⼏⾏代码,只需⼏个操作符的调⽤,更重要的是,这种简单并不是以限制可⽤功能为代价。

使⽤HALCON,可以在不同的时间模式下从不同的采集设备和相机中获取图像。

除了从相机中获取图像外,HALCON还可以将存储在⽂件中的图像显⽰出来(⽀持的⽂件格式:BMP、TIFF、GIF、JPEG、PNG、PNM、PCX、XWD)。

基本概念⽤HALCON获取图像基本上只需要三个步骤,⽽从⽂件中读取图像则更为简单:只需调⽤read_image操作符即可。

打开图像采集设备如果想从⼀个摄像机中获取图像,第⼀步就是要连接到这个设备。

HALCON可以解决所有与设备相关的细节问题;只需要调⽤算⼦open_framegrabber,指定相应的图像采集接⼝名称。

还有⼀个 "虚拟 "的图像采集界⾯叫File。

顾名思义,这个 "抓帧器 "读取⽂件中的图像,以及所谓的图像序列⽂件。

后者是Halcon特有的⽂件类型,典型的扩展名是.seq,它们包含⼀个图像⽂件名的列表,⽤新的⾏隔开(可以⽤⽂本编辑器很容易地创建它),如果你链接到这样的序列,随后调⽤grab_image就会返回⽂件中指定的序列图像。

然后,不必创建⼀个序列⽂件,⽽只需指定⽬录名称⽽不是序列⽂件作为参数'CameraType'的值。

后续调⽤grab_image会返回在指定的图像⽬录中找到的图像。

如果想⽤图像⽂件序列或者在真实的图像采集设备上来测试应⽤程序,那么以上这两种⽅法都很有⽤。

获取图像连接到设备后,只需调⽤grab_image就可以获取图像。

要从磁盘中加载图像,需要使⽤read_image,图像会在当前⽬录中和当前设备环境变量HALCONIMAGES指定的⽬录中被搜索到。

工业机器视觉基础教程-halcon篇

工业机器视觉基础教程-halcon篇

工业机器视觉基础教程-halcon篇
工业机器视觉是利用计算机视觉技术,通过各种相机、传感器等设备,实现对工业制造过程中产品的检测、识别、测量等操作,以提高生产效率和质量。

其中,Halcon 是一款商业化的
视觉软件,是基于面向对象编程思想和C++语言构建而成的
算法和应用开发平台。

Halcon 的特点之一是具有强大的图像处理函数库,可用于高
级图像处理和机器视觉应用的开发。

例如,常常用到的图像预处理(如滤波、抠图、滑动窗口等)、角点检测、边缘检测、二值化、形态学操作、直线/圆检测等操作。

此外,还有一些
高级操作,如三维重建、模板匹配、字符识别、色彩分割、基于深度学习的图像识别等。

使用 Halcon 进行机器视觉应用的第一步是了解其标定系统以
及相应的摄像机标定应用。

Halcon 通过利用多个视觉原理,
并结合了强大的2D/3D机器视觉算法和成像技术,能够实现
高精度的相机标定,并能够使用标定好的摄像机进行高效、准确的三维参数计算和分析。

此外,还需要针对具体的应用场景,对图像进行设计、预处理和分析,以得到最终的应用程序。

除此之外,还需要考虑实际工业现场的环境因素,例如光照、噪声、运动等因素对识别、测量的影响。

在这种情况下,可以使用 halcon 系统灵活的参数调整和自动化算法设计等技术,
来实现对产品的全方位分析、检测及检验,提高生产效益和质量。

总之,作为一款行业顶尖的机器视觉软件,Halcon 在应用于各种机器视觉应用方面都有良好的表现,并能帮助工程师快速高效地进行图像处理、算法设计,以及现场调试和优化案例。

HALCON数字图像处理-第4章 HALCON数据结构

HALCON数字图像处理-第4章 HALCON数据结构
区域内任意两点进行连线,连线上的所有点都在区域内 就5称.这区个域区轮域廓为长凸度集特。征凸包则是包含区域内所有点构成的 最区小域凸轮集廓。长度是区域的另一个特征,区域轮廓是跟踪区 域边界获得一个轮廓,然后将区域边界上的全部点连接到 一起。轮廓长度是欧几里德长度,平行于坐标轴与垂直坐 标轴的两个相邻轮廓点之间的距离为1。
行作程用编:码计(算又线称段游的程中编心码、)长是度相、对方简向单。的编码技术。行程编码 的主要思路是将一个相同值的连续串用一个代表值和串长来代替。 例如,有一个字符串“aaabccddddd”,行程编码可以用 H“AL3CaO1Nb数2c字5d图”像来处表理示。图4-19是区域,表4-2是根据图4-19的区
于其具有旋转、平移、尺度等不变特征又称为不变距。在图 像处理中不变距可以作为一个重要的特征来表示区域。 HALCON数字图像处理
4.2 HALCON Region区域
3.区域等效椭圆特征 二阶中心距的一个重要应用就是可以定义一个区域
的方向与范围,而区域的方向和范围可以用等效椭圆来 表示4.。区域凸性特征
HALCON数字图像处理
4.3 HALCON XLD轮廓 2.XLD其他特征 在讲解XLD其他特征之前,需要使用 test_self_intersection_xld算子判断XLD是否自相交。只有 在XLD不自相交的时候有些特征参数才有意义。
HALCON数字图像处理
4.4 Handle句柄
句柄是一个是用来标识对象或者项目的标识符,可以用来描述 窗体、文件等,值得注意的是句柄不能是常量。
g方e向n_是re区gi域on的_p基oi本nt特s(征:R,eg下io面n:几Ro个ws算,C子ol与um区ns域:)方向有关。 (1) li(ne2_)oroireinetnattaitoino(n:_:rReogwiBoeng(iRne,gCioolnBse:g:i:nP,hRio)wEnd,ColEnd:P HhAiL)CON数字图像处理

halcon教程

halcon教程

halcon教程Halcon是一种广泛应用于机器视觉领域的软件库,它提供了丰富的图像处理和分析功能。

本教程将介绍Halcon的基本使用方法,涵盖图像读取、预处理、特征提取、目标检测等常用操作。

1. 图像读取使用Halcon的read_image函数可以从文件中读取图像数据。

可以通过指定文件路径来读取图像,例如:read_image(Image, 'image.jpg')2. 图像预处理在图像处理之前,通常需要对图像进行一些预处理操作,以改善后续处理的效果。

Halcon提供了丰富的预处理函数,如灰度化、平滑、滤波等。

例如,可以使用以下代码对图像进行灰度化处理:gray_image(Image, GrayImage)3. 特征提取Halcon提供了多种特征提取函数,可以从图像中获取有用的信息。

常用的特征包括边缘、角点、斑点等。

例如,可以使用find_edges函数在图像中提取边缘信息:find_edges(GrayImage, Edges, 10, 40)4. 目标检测目标检测是机器视觉中的一个重要任务,Halcon提供了多种目标检测函数和算法。

例如,可以使用find_shape_models函数对图像中的形状进行检测:find_shape_models(GrayImage, Model, AngleStart, AngleExtent, MinScore, NumMatches, SubPixel, Greediness, Result)以上是一些Halcon的基本用法,通过学习这些基础知识,您可以在机器视觉应用中更好地运用Halcon库进行图像处理和分析。

希望这些信息对您有所帮助!。

Halcon的图像获取的实例

Halcon的图像获取的实例

Halcon的图像获取的实例重新整理之前旧网站上发布过的帖子。

比较常用的几个图像获取的例子,之前刚刚学习halcon的时候写的,作为入门的第一步,还是值得再分享一下的。

*=================分割线1==================*图像获取的基本代码(1)*读取路径下的图片,image1read_image(image1,'F:/Halcon test/barcode/image/1.png') *=================分割线2==================*图像获取的基本代码(2)*读取路径下的多张图片,image2imagepath :=[]*建立一个图像读取的数组,命名为imagepath。

imagepath[0]:='F:/Halcon test/barcode/image/2.png'imagepath[1]:='F:/Halcon test/barcode/image/3.png'imagepath[2]:='F:/Halcon test/barcode/image/4.png'imagepath[3]:='F:/Halcon test/barcode/image/5.png'*读取4张图片的路径for i:=0 to 3 by 1read_image(image2,imagepath[i])endfor*=================分割线3==================*图像获取的基本代码(3)*读取文件夹下的某些图片,image3for i:=1 to 5 by 1read_image(image3,'F:/Halcontest/barcode/image/'+i+'.png')endfor*=================分割线4==================*图像获取的基本代码(4)*读取文件夹下的所有图片和文件夹,image4* Code generated by Image Acquisition 01list_files ('F:/Halcon test/barcode/image', ['files','directories','recursive','max_depth 2','follow_links'], ImageFiles)tuple_regexp_select (ImageFiles, ['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima) $','ignore_case'], ImageFiles)*'ignore_case':忽略大小写*'\\.' --> '.'for Index := 0 to |ImageFiles| - 1 by 1read_image (Image4, ImageFiles[Index])* Do somethingendfor*=================分割线5==================*图像获取的基本代码(5)*连接摄像机读取图像,image5* Code generated by Image Acquisition 02open_framegrabber ('DirectShow', 1, 1, 0, 0, 0, 0, 'default', 8, 'rgb', -1, 'false', 'default', '0', -1, -1, AcqHandle)grab_image_start (AcqHandle, -1)while (true)grab_image_async (Image5, AcqHandle, -1)* Do somethingendwhileclose_framegrabber (AcqHandle)。

halcon连接图像采集设备与halcon多线程采图

halcon连接图像采集设备与halcon多线程采图

Halcon连接采图设备与Halcon多线程采图大恒图像娄训志ØHalcon 介绍ØHalcon 采图知识与常用算子ØHalcon 连接采图设备ØHalcon 连接采图设备编程应用ØHalcon 连接多个采图设备ØHalcon 与多线程采图Ø相关背景MVTec公司是世界上最著名的机器视觉软件公司,也是世界上标准机器视觉软件的领导者。

MVTec公司具有强大的开发和技术支持能力,50%的成员具有博士学位和机器视觉领域的长期工作经验。

Ø什么是HalconHalcon是在世界范围内广泛使用的机器视觉软件。

用户可以利用其开放式结构快速开发图像处理和机器视觉应用软件。

ØHalcon包含些什么Halcon包含Blob分析,形态学,模式识别与匹配,测量,2、3D相机标定,双目视觉,立体匹配等性能杰出的图像算法,以及图像采集,I/O 通信等工具。

Ø为什么使用HalconHalcon支持Linux/UNIX,Windows32/64位等操作系统,所有的库均可以使用C,C++,C#,VB和delphi编程语言访问,使用比较方便。

Halcon能够从软件上帮助你,解决绝大多数机器视觉软件问题。

Ø图像采集Halcon尽可能地保证与硬件无关,支持大多数图像采集卡,及带有DirectShow和IEEE 1394驱动等的采集设备。

Halcon采集图像的特点•图像采集链接库,独立于其它图像处理链接库•一致的代码模板(磁盘文件和图像采集设备)•支持多个采集设备•同步和异步采集•支持外触发•图像尺寸、图像位数、颜色空间可调•支持颜色查找表•支持与设备相关的参数调整ØImages in Halcona.Multiple channels自动处理多通道图像或单通道图像b.Various pixel types自动处理多型号位深的图像c.Arbitrarily-shaped region of interest 任意形状的感兴趣区域Øimage tuples in Halcon例如:如果想对一批图像进行滤波处理,你只需要调用一次mean_image 算子对图像数组进行操作,避免多次调用mean_image 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的黑白相间的线条对数,单位是“线对/毫米”。不能和相机的分辨率 混为一谈。
➢ 数值孔径(NA):数值孔径直接决定了镜头的分辨率,数值孔径
越大,分辨率越高,否则反之。其计算公式为: NA n sin a 2
➢ 视场(FOV):镜头实际拍到的区域的范围。其计算公式为:
FOV WD CCD尺寸 f
➢ 光学放大倍数(M):即芯片尺寸除以视场。即:
第4章 HALCON图像采集
4.1图像采集硬件
4.1.1相机 4.1.2镜头 4.1.3光源
4.2图像采集算子
4.2.1工业相机连接 4.2.2同步采集 4.2.3异步采集
4.3图像采集助手
HALCON编程基础与工程应用
4.1图像采集硬件
4.1.1工业相机 工业相机的主要参数
➢ 按照芯片类型可以分为CCD相机、CMOS相机 ➢ 按照传感器的结构特性可以分为线阵相机、面阵相机 ➢ 按照扫描方式可以分为隔行扫描相机、逐行扫描相机 ➢ 按照分辨率大小可以分为普通分辨率相机、高分辨率相机 ➢ 按照输出信号方式可以分为模拟相机、数字相机 ➢ 按照输出色彩可以分为单色(黑白)相机、彩色相机 ➢ 按照输出信号速度可以分为普通速度相机、高速相机 ➢ 按照响应频率范围可以分为可见光(普通)相机、红外相机、紫外相机等
4.1图像采集硬件
4.1.2镜头
镜头的相关参数
➢ 焦距(f):镜头到焦点之间的距离,常见的工业镜头焦距有:5mm、
8mm、12mm、25mm、35mm、50mm、75mm等,其计算公式为:
f
CCD宽WD 物宽
CCD高 WD 物高

光圈系数(相对孔径)相:对孔径
光圈直径 焦距f
D圈系数为1.4、2、2.8、4、5.6、8、11、16、22等几个等
➢ 高影像分辨率 ➢ 近乎零失真度 ➢ 无透视误差 ➢ 远心设计与超宽景深
远心镜头的选择:
其靶面的规格大于或等于相机的靶面即可,当检查物体遇到以下6中情况时, 最好选用远心镜头: ➢ 当需要检测有厚度的物体时(厚度>1/10 FOV直径); ➢ 需要检测不在同一平面的物体时; ➢ 当不清楚物体到镜头的距离究竟是多少时; ➢ 当需要检测带孔径、三维的物体时; ➢ 当需要低畸变、图像效果亮度几乎完全一致时; ➢ 当缺陷只在同一方向平行照明下才能检测到时。
工业相机的主要输出接口
USB接口 1394a/1394b接口 Gige接口 Camera Link接口
HALCON编程基础与工程应用
4.1图像采集硬件
工业相机的选型
• 选择工业相机的分辨率
分辨率=视野范围/理论精度
• 选择工业相机的芯片
CCD/CMOS
• 选择彩色相机还是黑白相机
要处理的与图像颜色有关,采用彩色相机,否则建议黑白相机
级。
➢ 对应最大CCD尺寸:镜头成像直径可覆盖的最大CCD芯片尺寸。
➢ 接口:镜头与相机的连接方式。常用的包括C、CS、F、V、T2等。
➢ 像差(比如畸变、场曲等):畸变会影像测量结果,特别是在
精密测量中,必通过软件的方法进行标定和补偿。
HALCON编程基础与工程应用
4.1图像采集硬件
➢ 分辨率(Resolution):指在成像平面上1毫米间距内能分辨开
4.1图像采集硬件
典型的工业相机供应商
➢ costar工业相机 ➢ Lumenera数字工业相机 ➢ Sony(日本) ➢ 东芝泰力(日本) ➢ Dalsa(加拿大) ➢ BASLER(德国) ➢ UNIQ(美国) ➢ Redlake(美国) ➢ Atmel(美国) ➢ Olynpus(日本)
HALCON编程基础与工程应用
HALCON编程基础与工程应用
4.1图像采集硬件
工业相机的主要参数
分辨率(Resolution) 像素深度(Pixel Depth) 曝光方式(Exposure)和快门速度(Shutter) 像元尺寸(Pixel Size) 光谱响应特性(Spectral Range) 工业相机噪声 信噪比(SNR)
M CCD FOV
➢ 工作距离(WD):即物距,镜头最下端机械面到被测物体的距离。
HALCON编程基础与工程应用
4.1图像采集硬件
➢ 后背焦(Flange Distance):即后焦距,指相机接口平面到芯片的
距离。
➢ 景深(DOF):表示满足图像清晰要求的最远位置与最近位置的差值。
L1
f
FL2 2 FL
➢ 像方远心光路:将孔径光阑放置在
光学系统的物方焦平面上,像方主光线 平行于光轴主光线的会聚中心位于像方 无限远。其作用为:可以消除像方调焦 不准引入的测量误差。
➢ 两侧远心光路:综合了物方/像方远
心的双重作用,主要用于视觉测量检测 领域
HALCON编程基础与工程应用
4.1图像采集硬件
远心镜头技术参数:
;L2
f
FL2 2 FL
;L
L1
L2
f
2f 2FL2 4 F 2 2 L2
HALCON编程基础与工程应用
4.1图像采集硬件
镜头的分类
按镜头接口分类:C接口、CS接口、F接口等 按焦距类型分类:定焦镜头和可变焦距镜头 按焦距、视场角大小分类:标准镜头长、焦距镜头、广角镜头、鱼
眼镜头、微距镜头
按光圈分类:固定光圈式、手动光圈式、自动光圈式等 按镜头伸缩调整方式分类:电动伸缩镜头、手动伸缩镜头等
• 工业相机的帧率
选择相机的帧率一定要大于或等于物体运动速度
• 选择线阵相机还是面阵相机 • 相机和图像采集卡的匹配
包括:视频信号的匹配;分辨率的匹配;特殊功能的匹配;接口的匹配
• 工业相机的CCD/CMOS靶面
选择CCD/CMOS尺寸时,要结合镜头的焦距、视场角一起选择
HALCON编程基础与工程应用
HALCON编程基础与工程应用
4.1图像采集硬件
工业镜头的选择
远心镜头
远心镜头(Telecentric),主 要是为纠正传统工业镜头视差 而设计,它可以在一定的物距 范围内,使得到的图像放大倍 率不会变化。
HALCON编程基础与工程应用
4.1图像采集硬件
远心镜头根据原理分为:
➢ 物方远心光路:将孔径光阑放置在
光学系统的像方焦平面上,物方主光线 平行于光轴主光线的会聚中心位于物方 无限远。其作用为:可以消除物方由于 调焦不准确带来的读数误差。
相关文档
最新文档