halcon案例分享

目录

 

测量长度

仿射变换

测量长度和距离

模板匹配

旋转角度

找圆心

BLOB分析

控制变量

机器视觉工程应用的开发思路


测量长度

仿射变换

测量长度和距离

模板匹配

旋转角度

找圆心

BLOB分析

控制变量

机器视觉工程应用的开发思路

机器视觉工程应用主要可划分为硬件和软件两大部分。

硬件:工程应用的第一步就是硬件选型。硬件选型很关键,因为它是你后面工作的基础。主要是光源、工业相机和镜头选择。

软件:目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI(labview+vision模块)等,开源库有OpenCV。


机器视觉工程应用的基本开发思路是:

一、图像采集

二、图像分割

三、形态学处理

四、特征提取

五、输出结果

下面在Halcon下对这四个步骤进行讲解。

一、图像采集:

Halcon通过imageacquisition interfaces对各种图像采集卡及各种工业相机进行支持。其中包括:模拟视频信号,数字视频信号Camera Link,数字视频信号IEEE 1394,数字视频信号USB2.0,数字视频信号Gigabit Ethernet等。 

Halcon通过统一的接口封装上述不同相机的image acquisition interfaces,从而达到算子统一化。不同的相机只需更改几个参数就可变更使用。

Halcon图像获取的思路:

1、打开设备,获得该设备的句柄。

2、调用采集算子,获取图像。

1、打开设备,获得该设备的句柄。

 

open_framegrabber('DahengCAM', 1, 1, 0, 0, 0, 0, 'interlaced', 8, 'gray', -1, 'false','HV-13xx', '1', 1, -1, AcqHandle) //连接相机,并设置相关参数

Parameter

Values

Default

Type

Description

Name

'DahengCAM'

 

string

Name of the HALCON interface.

HorizontalResolution

1

1

 

1表示水平全部,2为水平1/2,表示图像截取。

VerticalResolution

1

1

 

同上,表示垂直方向。

ImageWidth

 

0

integer

所需的图像部分的宽度('0 '代表了完整的图像)。

ImageHeight

 

0

integer

所需的图像部分的高度(0”是完整的图像)

StartRow

 

0

integer

所需的图像部分左上方的像素行坐标

StartColumn

 

0

integer

所需的图像部分左上方的像素列坐标

Field

   

忽视

BitsPerChannel

   

忽视

ColorSpace

'default', 'gray', 'rgb'

'gray'

string

HALCON图像的通道模式

Generic

   

忽视

ExternalTrigger

'false', 'true'

'false'

string

外部触发状态

CameraType

'HV-13xx', 'HV-20xx', 'HV-30xx', 'HV-31xx','HV-50xx', 'SV-xxxx'

'HV-13xx'

string

所连接的摄像机系列型。

Device

'1', '2', '3', ...

'1'

string

相机连接第一个设备号“1”,第二个设备编号“2”。

Port

   

忽视

LineIn

   

忽视

2、调用采集算子,获取图像。

grab_image (Image, AcqHandle) //(同步采集)完后处理图像,然后再采集图像。采集图像的速率受处理速度影响。

grab_image_async (Image, AcqHandle,MaxDelay) //(异步采集),一幅画面采集完后相机马上采集下一幅画面,不受处理速度影响。其中第三个参数为:MaxDelay,表示异步采集时可以允许的最大延时,本次采集命令距上次采集命令的时间不能超出MaxDelay,超出即重新采集。

图像采集其他相关算子:

grab_image_start,该算子开始命令相机进行异步采集。只能与grab_image_async(异步采集)一起使用。

例子:

* Select a suitable image acquisition interface nameAcqName

open_framegrabber(AcqName,1,1,0,0,0,0,'default',-1,'default',-1.0,\

'default','default','default',-1,-1,AcqHandle)

grab_image(Image1,AcqHandle)//进行同步采集

* Start next grab

grab_image_start(AcqHandle,-1.0)//命令相机进行异步图像采集开始

* Process Image1 ...

* Finish asynchronous grab + start next grab

grab_image_async(Image2,AcqHandle,-1.0)//读取异步采集的图像

* Process Image2 ...

close_framegrabber(AcqHandle)

3、相机参数读写

读取相机参数:

info_framegrabber( : : Name, Query : Information, ValueList)

写相机参数:

set_framegrabber_param( : : AcqHandle, Param, Value : )

 

二、图像分割:

图像分割的定义: 

所谓图像分割是指将图像中具有特殊含义的不同区域分割开来,这些区域是互相不交叉的,每个区域都满足特定区域的一致性。

1、基于阈值的图像分割

threshold —采用全局阈值分割图像。

格式:    threshold(Image : Region : MinGray, MaxGray : )

自动全局阈值分割的方法:

(1)计算灰度直方图 

(2)寻找出现频率最多的灰度值(最大值) 

(3)在threshold中使用与最大值有一定距离的值作为阈值

代码:

gray_histo(Regions, Image,AbsoluteHisto, RelativeHisto) //计算出图像区域内的绝对和相对灰度值直方图。

PeakGray := sort_index(AbsoluteHisto)[255] //求出出现频率最多的灰度值

threshold(Image,Region,0,PeakGray-25)

bin_threshold — 使用一个自动确定的阈值分割图像。

格式:    bin_threshold(Image : Region : : )

 

dyn_threshold —使用一个局部阈值分割图像。

格式:    dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )

例子:

mean_image(Image,Mean,21,21)

dyn_threshold(Image,Mean, RegionDynThresh,15,'dark')

var_threshold —阈值图像局部均值和标准差的分析。

格式:    var_threshold(Image : Region : MaskWidth, MaskHeight, StdDevScale, AbsThreshold, LightDark : ) 

 

2、基于边缘的图像分割:寻找区域之间的边界

watersheds —从图像中提取分水岭和盆地。

格式:    watersheds(Image : Basins, Watersheds : : )

watersheds_threshold —使用阈值从图像中提取分水岭和盆地。

格式:    watersheds_threshold(Image : Basins : Threshold : )

 

3、基于区域的图像分割:直接创建区域

 

三、形态学处理

形态学处理以集合运算为基础。

腐蚀、膨胀、开操作、闭操作是所有形态学图像处理的基础。

开操作(先腐蚀再膨胀)使对象的轮廓变得光滑,断开狭窄的间断和消除细的突出物。

闭操作(先膨胀再腐蚀)消弥狭窄的间断和长细的鸿沟,消除小的孔洞,填补轮廓线的断裂。

形体学基础算子:

erosion1 

dilation1 

opening 

closing

常用的形态学相关算子 

connection 

select_shape 

opening_circle 

closing_circle 

opening_rectangle1 

closing_rectangle1 

complement 

difference 

intersection 

union1 

shaps_trans 

fill_up

形态学高级算子: 

boundary 

skeleton

 

四、特征提取:

1、区域特征:

area 

moments

smallest_rectangle1

smallest_circle

convexity:区域面积与凸包面积的比例

contlength:区域边界的长度

compactness

2、灰度特征

estimate_noise

select_gray

 

五、输出结果:

(1)获取满足条件的区域

(2)区域分类,比如OCR

(3)测量

(4)质量检测

来源:https://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 

001:计算机视觉领域研究资源及期刊、会议介绍

002:德国kuka机器人与世界冠军乒乓对决

003:120图勾勒全球AI产业完整图谱!

004:Facebook 开源计算机视觉系统,从像素水平理解图像(附论文及代码)

005:想成为机器学习工程师?这份自学指南你值得收藏

006:十一种通用滤波算法

007:图像处理与计算机视觉基础,经典以及最近发展

008:机器人行业深度报告(完整版)

009:从洗衣妹到谷歌首席科学家,她靠孤独改变了人工智能界!

010:工业级机器视觉行业研究报告

011:双远心工业镜头的原理简述

012:如何装备一个学术型的 iPad ?

013:机器视觉系统概述

014:德国工匠:我们没有“物美价廉”的东西

015:为什么最好的机械臂是7个自由度,而不是6个?

016:史上最给力的技术视频!

017:机器人10大流行编程语言对比,你掌握了哪种?

018:新奇复杂机械原理图!

019:机器人控制系统相关知识大汇集

020:机器人的工作原理,史上最详细的解析!

021:光源选型知识点

022:这才是机械手,这才是自动化,你那算什么?

023:摄像机和镜头的基础知识

024:物联网产业链全景图(附另13大电子行业全景图,必收藏)

025:日本到底强大到什么地步?让人窒息!看后一夜未眠

026:德国机械用行动惊艳全世界:无敌是多么寂寞

### 回答1: 《Halcon实例实战第二版》是一本针对Halcon图像处理软件的实际应用案例教程。本书采用详细的实例演示,帮助读者深入了解和掌握Halcon的各种功能和技巧。 该书的最终目标是帮助读者能够独立进行图像处理项目的开发和实施。为了实现这一目标,作者从基础知识的讲解出发,逐步介绍了Halcon的各项功能,如图像预处理、特征提取、目标识别等。特别要提到的是该书的案例选择非常实用,包括面部识别、条码识别、自动化检测等,读者可以通过这些案例学习和实践。 此外,第二版还进行了全面的更新和扩充,更新了软件版本和新功能的使用方法。同时,还增加了一些新的实例案例,使读者能够更好地理解和应用Halcon软件。书中还提供了详细的代码和步骤,帮助读者迅速上手并应用于实际项目中。 总的来说,Halcon实例实战第二版是一本系统全面的Halcon应用指南。无论是对于初学者还是有一定经验的使用者来说,都是一本非常有价值的学习资料。通过学习本书,读者将能够掌握Halcon的使用技巧,并能够灵活应用于各种图像处理项目中。 ### 回答2: Halcon实例实战第二版最终是一本深入介绍Halcon机器视觉系统的实践指南。该书以实际项目为背景,结合大量的示例和代码,详细介绍了Halcon的应用和实现方法。 本书第一部分首先介绍了Halcon的基础知识,包括软件安装、用户界面、图像处理基础等。第二部分着重介绍了Halcon的核心技术,包括图像处理和分析、模板匹配、几何校正、高级图像处理等。第三部分则介绍了Halcon在不同行业中的实际应用,如电子制造、医疗、自动化等。 经过阅读这本书,读者可以系统地学习和掌握Halcon的基本操作和高级技术。通过实例演示和步骤说明,读者可以深入了解Halcon的各种功能和应用场景,并能够运用所学知识解决实际问题。 该书的最终版本在第一版的基础上进行了修订和更新,增加了新的案例和拓展内容。同时,针对读者的反馈和疑问进行了详细解答,提供了更加全面和深入的实践指导。 总之,Halcon实例实战第二版最终是一本值得推荐的学习资料,无论是对于初学者还是有一定经验的用户来说,都能够在其中找到实用的工具和方法,提升自己在机器视觉领域的能力和技术水平。 ### 回答3: Halcon实例实战第二版是一本关于Halcon图像处理软件的应用实例教程。这本书的目的是通过实际案例的介绍和实战演练,帮助读者深入理解和掌握Halcon软件的使用技巧和应用方法。 这本书共包含了多个实际案例,涵盖了从图像采集和预处理、图像分割和特征提取、目标识别和测量等多个方面的内容。每个案例都会使用详细的文字说明和示意图,指导读者如何使用Halcon软件进行图像处理和分析。 在每个案例中,书中都会对所需的图像处理算法和Halcon函数进行解释和说明,使读者能够了解其原理和使用方法,并能够根据实际需求进行相应的调整和优化。同时,书中也会介绍一些常见的问题和解决方法,帮助读者在实际应用中遇到困难时能够及时解决。 通过实际案例的学习和实战演练,读者可以逐步提高Halcon软件的应用能力和解决图像处理问题的能力。无论是对于初学者还是有一定基础的用户来说,这本书都能够提供有价值的参考和借鉴。 综上所述,Halcon实例实战第二版是一本实用性强、内容丰富的Halcon软件教程,通过实际案例讲解和实战演练,帮助读者深入理解和掌握Halcon软件的使用技巧和应用方法,提高图像处理和分析能力。这本书对于Halcon软件的学习和应用都是非常有帮助的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ai智享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值