Halcon自学笔记

编写一个简单的HDevelop程序(获得所有回形针的方向,并在中心位置显示)

1.首先读取一张图片:read_image (Image, ‘G:/halcon/imgs/Clip.PNG‘)  Image为输出的变量名,后一个参数为图片路径

2.根据灰度值把回形针分离出来,使用灰度直方图获取阈值:threshold (Image, Region, 0, 56)   Image为输入的图像,Region为输出的图像,0,56为阈值

3.connection算子用来计算一个区域中联通的部分,用不同颜色表示出来:connection(Region,ConnectedRegions)  

Region为输入的图像,ConnectedRegions为输出的图像

4.根据特征选择区域:select_shape (ConnectedRegions, SelectedRegions, ‘area‘, ‘and‘, 475, 595)

5.获得回形针的方向和重心:

orientation_region(SelectedRegions,Phi)
area_center(SelectedRegions,Area,Row,Column)

算子orientation_region会返回一个元组Phi,数组的每个元素值表示:对象元组SelecetdRegions中对应的每个区域的方向。

算子area_center把每个区域的Area,Row,Column的值以元组的方式返回

6.在循环体中访问检测结果:

for Index := 0 to |Phi|-1 by 1
  set_tposition(3600,Row[Index],Column[Index])
  write_string(3600,deg(Phi[Index])+‘degrees‘)
endfor

算子set_tposition把图形窗口中的文本光标位置移动至索引Index所对应的区域的中心位置。3600是目标图形窗口的窗口句柄(每个图形窗口对应一个窗口句柄)Row[Index]是HDevelop语言的另一个算子,通过它来访问Tuple元组中的元素。

算子write_string的作用是在图形窗口的光标位置输出一个指定字符串。

算子deg也是HDevelop语言的一部分,它的作用是把弧度转化成角度。

算子+的作用是将两个字符串合并成一个字符串,在本例中,在两个操作数+之前,HDevelop会自动进行类型转换,把deg(Phi[Index])从double转换成string类型

原图:

效果图:

时间: 2024-10-13 20:50:12

Halcon自学笔记的相关文章

斯坦福大学机器学习(Andrew [email protected])--自学笔记

今天学习Andrew NG老师<机器学习>之6 - 6 - Advanced Optimization,做笔记如下: 用fminunc函数求代价函数最小值,分两步: 1.自定义代价函数 function [jVal,gradient] = costFunction(theta)jVal = (theta(1)-5)^2 + (theta(2)-5)^2;gradient = zeros(2,1);gradient(1) = 2*(theta(1)-5);gradient(2) = 2*(the

CSS自学笔记(3):CSS样式表的使用

当浏览器读到一个样式表时,浏览器会根据这个样式表来格式化html文档,从而表现出各式各样的网页. 想要浏览器读到样式表,有三种方法: 1.外部样式表 外部样式表可以理解为.CSS文件.当多个页面使用同一个样式的时候,外部样式表是一个很理想的选择. 在使用外部样式表的情况下,可以通过改变一个文件来改变整个站点的外观,无需在调整html文件,尤其是多个页面使用同一个样式的时候. 每个html页面使用标签<link>来连接外部样式表: <head> <link rel="

Halcon学习笔记之支持向量机(二)

例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可以对支持向量机的使用有一个更加清晰的了解.在相当多的检测和识别的应用中,都可以使用相同的方法来解决分类问题. 图1. 卤素灯图像 大致原理: 一.准备阶段:描述样本 1. 准备好两组卤素灯图像样本,好坏的各若干张图像: 2. 对样本图像进行分割,获取卤素灯关键部位区域: 3. 选择合适的对图像的描述

python自学笔记

python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 循环 6.使用dict和set 6.1 dict 6.2 set 7.函数的使用 7.1函数返回多个值,同时接受多个值 7.2函数参数的默认值 7.3可变参数的函数 7.4可变个数带参数名的入参 7.5参数类型组合 8.关于函数递归 9.python的高级特性 9.1切片 9.2遍历 9.3列表生

CSS自学笔记(5):CSS的样式

CSS中拥有各种各样的样式表,而基本的样式有背景,文本,字体,链接,列表,表格,轮廓. 一.CSS-背景 CSS中允许用纯色背景,也允许用图片来创建复杂的个性背景. p {background-color: #000;} 是用纯色作为背景.这时你可以定义其他属性,生成不同效果的背景. CSS中也可以用图片作为背景,这是就需要使用background-image属性了,如果属性值为一个URL值,并且图片文件存在,那么就可以看到用该图片做为背景的网页了 body {background-image:

Android自学笔记-16-任务栈

题目链接:http://acm.fzu.edu.cn/problem.php?pid=2170 贴个baka爷的代码留念.. 数据出的有问题,输入的字符串长度不超过1000 #include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #include<map> #include<queue> #incl

Hadoop自学笔记(一)常见Hadoop相关项目一览

本自学笔记来自于Yutube上的视频Hadoop系列.网址: https://www.youtube.com/watch?v=-TaAVaAwZTs(当中一个) 以后不再赘述 自学笔记,难免有各类错误纰漏.请看者谨慎. Hadoop的使用还有大数据时代什么的就不说了.Hadoop不是一个单独的工具,而是一整个生态系统.包括一系列工具.所以首先要先介绍一下Hadoop相关的工具和各类概念,是以后经常会接触到的. 1. Hadoop Core a) HDFS  Hadoop分布式文件系统,Hadoo

jQuery:自学笔记(5)——Ajax

jQuery:自学笔记(5)--Ajax 使用Ajax快捷函数 说明 出于简化AJAX开发工作的流程,jQuery提供了若干了快捷函数. 实例 1.显示 test.php 返回值(HTML 或 XML,取决于返回值). $.get("test.php", function(data){   alert("Data Loaded: " + data); }); 2.向页面 test.php 发送数据,并输出结果(HTML 或 XML,取决于所返回的内容): $.pos

jQuery:自学笔记(2)——jQuery选择器

jQuery:自学笔记(2)--jQuery选择器 基本选择器 说明 jQuery的基本选择器与CSS的选择器相似: 实例 标签选择器 //使用标签选择器更改字体大小 $(div).css('font-size','18px') ID选择器 //使用id选择器改变背景颜色 $('#div1').css('background','red'); 说明:ID选择器中,ID前面必须加一个#,以表明这是一个jQuery的ID选择器. 类选择器 //使用类选择器设置字体样式 $('.spanclass')