halcon例子讲解
“halcon例子讲解”相关的资料有哪些?“halcon例子讲解”相关的范文有哪些?怎么写?下面是小编为您精心整理的“halcon例子讲解”相关范文大全或资料大全,欢迎大家分享。
Halcon例子说明
Halcon实例说明
1、inspect_bottle_mouth.hdev:易拉管缺陷检测。用到了极坐标变换
2、circular_barcode.hdev:一维条码检测,用到坐标变换。弧形拉直。用到了极坐标变换 3、surface_scratch.hdev:表面划伤检测。
4、ball.hdev:PCB板焊锡点检测。用到常用算子及开运算opening。 5、best_match_rot_mg_clip1.hdev:带方向的基本模版匹配 6、bin_threshold.hdev:计算图片中的灰度直方图
7、bin_threshold2.hdev:程序说明怎样bin_threshold与threshold之间的相等转换计算。 8、bottle.hdev:OCR字符的检测 9、bottlet.hdev:OCR字符的检测
10、check_blister.hdev:药品颗粒检测。用一些常用算子及坐标变换,图片旋转。
11、check_bottle_crate.hdev:圆孔检测。用到opening_circle、select_shape等常用处理算子。
12、check_hazelnut_wafers.hdev:检测物体表面缺陷。很好的用到了开运
halcon函数
threshold 按设置的阙值提取图像区域。
connection 合并所有选定像素触摸相互连通区。 Select_shape 选择区域面积(属性:'面积')在指定区间内。 Smallest_rectangle1计算每个区域的坐标(连续/栏)的包围矩形。
dilation_circle ( Region ,RegionDilation , Radius ) 膨胀Radius为半径 complement ( Region , RegionComplement )反填充Region区域
get_mbutton ( WindowHandle, &Row, &Column, &Button ) 等待至用户鼠标有输入,Row,和Column返回坐标,左键输入:Button=1;中键:Button=2;右键:Button=4
set_tposittion(windowhandle,Row,Column)设置文本输出坐标
mean_image ( Image : ImageMean : MaskWidth, MaskHeight : )取平均值平滑图像
MaskWidth &MaskHeight ∈ {
C语言程序设计实例讲解例子解析
经典C语言程序设计实例讲解例子 【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。 2.程序源代码: main( { int i,j,k; printf(\
for(i=1;i<5;i++/*以下为三重循环*/ for(j=1;j<5;j++ for (k=1;k<5;k++ {
if (i!=k&&i!=j&&j!=k /*确保i、j、k三位互不相同*/ printf(\}
}
【程序2】
题目:企业发放的奖金根据利润提成。利润(I低于或等于10万元时,奖金可提10%;利润高
于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: main( { long int i;
int bonus1,bonus2,bo
halcon函数
threshold 按设置的阙值提取图像区域。
connection 合并所有选定像素触摸相互连通区。 Select_shape 选择区域面积(属性:'面积')在指定区间内。 Smallest_rectangle1计算每个区域的坐标(连续/栏)的包围矩形。
dilation_circle ( Region ,RegionDilation , Radius ) 膨胀Radius为半径 complement ( Region , RegionComplement )反填充Region区域
get_mbutton ( WindowHandle, &Row, &Column, &Button ) 等待至用户鼠标有输入,Row,和Column返回坐标,左键输入:Button=1;中键:Button=2;右键:Button=4
set_tposittion(windowhandle,Row,Column)设置文本输出坐标
mean_image ( Image : ImageMean : MaskWidth, MaskHeight : )取平均值平滑图像
MaskWidth &MaskHeight ∈ {
Halcon算子介绍
图像、窗口基础操作部分
基础操作
dev_close_window()
关闭当前激活的窗口
read_image( : Image : FileName : )
读取图像,可以支持多种格式,比如TIFF,PNG,JPEG-XR,JPEG-2000等,还支持一次性读取多个图像。
Image:输出,读取完后在halcon所存放的变量名
FileName:图片路径,可以是多个路径,可以是绝对路径或者相对路径,还可以省略扩展名
示例:
* Reading an image:
read_image(Image,'mreut')
* Reading 3 images into an image array: read_image(Images,['ic0','ic1','ic2'])
stop()
停止程序(等待用户继续运行)
get_image_size(Image : : : Width, Height)
获取图像的尺寸
Image:要获取尺寸的图像 Width:输出,图像的宽度 Height:输出,图像的高度
dev_open_window( : : Row, Column, Width, Height, Background :
Halcon检测圆
Halcon检测圆(blob外接圆法) (转) 原图如下:
检测结果如下:
代码如下:
dev_close_window ()
dev_update_window ('off')
read_image (Image, 'C:/Documents and Settings/Administrator/桌面/样品图.jpg')
get_image_size (Image, Width, Height)
dev_open_window_fit_image (Image, 0, 0, Width, Width, WindowID) set_display_font (WindowID, 12, 'Courier', 'true', 'false') dev_set_draw ('margin') dev_set_line_width (4) dev_display (Image)
* 定位检测区域
threshold (Image, Regions, 0, 45)
connection(Regions,ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'a
halcon指令集
1D Measuring一維測量
close_all_measures
Delete all measure objects. 刪除所有度量對象。 close_measure
Delete a measure object. 刪除測量物體。
deserialize_measure
Deserialize a serialized measure object. 反序列化序列化的度量對象。 fuzzy_measure_pairing
Extract straight edge pairs perpendicular to a rectangle or an annular arc. 提取直邊對垂直的一個矩形或環形電弧。 fuzzy_measure_pairs
Extract straight edge pairs perpendicular to a rectangle or an annular arc. 提取直邊對垂直的一個矩形或環形電弧。 fuzzy_measure_pos
Extract straight edges perpendicular to a rectangle or an annular arc. 提取直邊垂直的一個矩形或
halcon新手手册 - 1.0.1(修)
1. 无论读入什么图像,读入图像显示效果明显和原始图像不一致,哪怕是从相机读入的图像,也是明显颜色差异。什么原因引起?
初步诊断是,显示的时候调用的颜色查找表存在异常不是 default ,而是其它选项。此时可以通过查阅相关参数,调用set_system解决,也可以 在 编辑-》参数选择-》颜色查找表进行更改 。
2. 裁剪图像;从图像上截取某段图像进行保存。如何实现该操作 ?
首先应该知道,region不具有单独构成图像的要素,他没有灰度值。有用过opencv的应该知道 ROI(感兴趣区域),设置好它后,对图像的大部分操作就转为 图像的一个矩形区域内进行。类似的,halcon有domain 概念。 首先 设置好一个矩形区,然后使用 reduce_domain(是一个矩形区域)后,再使用crop_domain 就裁剪出图像。
3. 读入bmp,或tiff 图像 显示 该图不是bmp文件或不能读。原因是什么?
这个常有新手询问,画图,图像管理器都能打开,又或者是相机采集完直接存到硬盘。Halcon 读取图像 在windows下面到最后是调用windows库函数 实现读图功能。咱不清楚到底是怎么调用的。对于图像格式,在读图
Halcon使用指南 - 图文
Halcon使用指南
一、 hDevelop图像组件 1.1. hDevelop预览
新建一个程序,可以看到界面中有菜单栏、工具栏、状态栏、图像窗口(显示结果)、变量查看窗口(控制结果)、程序窗口(编辑程序)、算子窗口(编辑算子)。
1.2.菜单栏
文件:打开和存储程序、载入图像、HDevelop一般选项; 编辑:编辑程序;
执行:程序执行控制;
可视化:图像窗口中显示参数控制、图像检测工具、存储窗口内容到文件中; 过程:处理程序过程及选择; 算子:所有算子分类;
建议:前任和后继算子参考建议; 助手:图像获取/匹配/标定助手 窗口:打开窗口及布局;
帮助:在线帮助、halcon参考手册;
1.3.工具栏
1.4.算子窗口
算子选择
算子详细讲解:打开halcon手册,在搜索栏或算子栏输入算子,右侧则会显示算子的具体解释;
1.5.编辑窗口
1.6.图像窗口
处理图像窗口的可视化菜单
C#下halcon配置
1.在halcon中写入算子,实现函数过程 例如:
read_image(Image,'D:/MyFile/halcon/数字识别/1.jpg') decompose3(Image, ImageR, ImageG, ImageB) threshold (ImageG, Regions, 0, 183) connection (Regions, Connection)
select_shape (Connection, SelectedRegions, 'area', 'and', 1987.72, 7500) read_ocr_class_mlp('Document_0-9.omc',OCRHandle)
do_ocr_multi_class_mlp(SelectedRegions,ImageG,OCRHandle, Class, Confidence)
2.通过halcon的IDE开发环境,导出C#代码
3.利用vs2013创建一个C#窗口程序,加一个按钮。
4.将HDevelop安装目录下的文件夹拷贝到刚创建的C#窗口程序目录下
比如:我的C#工程名字叫Hello,我的HDevelop安装在C:\\Program Files\\MV