Halcon学习笔记2
图像预处理
一般来说,我们采集到的图像会有一些小黑点,小斑点,不平滑等因素会会影响我们后期的算法,此时就需要我们对其图片进行预处理。
下面是一些预处理基本算子:
1、消除噪声:mean_image/binomial_filter
a)mean_image(Image,ImageMean,MaskWidth,MaskHeight)
参数:
Image:输入图像
ImageMean:输出图像
MaskWidth:遮掩的宽度【要过滤的宽度】
默认值: 9
建议值: 3, 5, 7, 9, 11, 15, 23, 31, 43, 61, 101
典型区域值: 1 ≤ MaskWidth ≤ 501
MaskHeight:遮掩的高度【要过滤的高度】
默认值: 9
建议值: 3, 5, 7, 9, 11, 15, 23, 31, 43, 61, 101
典型区域值: 1 ≤ MaskHeight ≤ 501
2)binomial_filter(Image,ImageBinomial,MaskWidth,MaskHeight)
参数:
Image :输入图像
ImageBinomial:输出图像
MaskWidth :遮掩的宽度【要过滤的宽度】
默认值: 5
可选值: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37
MaskHeight :遮掩高度【要过滤的高度】
默认值: 5
可选值: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37
2、抑制小斑点或者细线:median_image
a)median_image(Image,ImageMedian,MaskType,Radius,Margin)
参数:
Image:输入图像
ImageMedian:输出图像
MaskType:掩饰类型
Filter mask type.
默认值: 'circle'
可选值: 'circle', 'square'
可选值 (为计算机设备): 'square'
Radius :半径
默认值: 1
可选值 (为计算机设备): 1, 2
建议值: 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 15, 19, 25, 31, 39, 47, 59
典型区域类型值: 1 ≤ Radius ≤ 4095
Margin :
边界处理.
默认值: 'mirrored'
可选值 (为计算机设备): 'mirrored'
建议值: 'mirrored', 'cyclic', 'continued', 0, 30, 60, 90, 120, 150, 180, 210, 240, 255
3、平滑:smooth_image
smooth_image(Image,ImageSmooth,Filter,Alpha)
参数:
Image :输入图像
ImageSmooth:输出图像
Filter :过滤
默认值: 'deriche2'
可选值: 'deriche1', 'deriche2', 'gauss', 'shen'
Alpha :
过滤参数: 小值导致强烈的平滑(亦然用 bei 'gauss').
默认值: 0.5
建议值: 0.1, 0.2, 0.3, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 7.0, 10.0
典型的范围值: 0.01 ≤ Alpha ≤ 50.0
最小增量: 0.01
建议增加: 0.1
限制: Alpha > 0
4、保存边缘的平滑:anisotropic_diffusion
anisotropic_diffusion(Image,ImageAniso,Mode,Contrast,Theta,Iterations)
参数:
Image:输入图像
ImageAniso:输出图像
Mode:
扩散系数函数的振幅
默认值: 'weickert'
可选值: 'parabolic', 'perona-malik', 'weickert'
Contrast:
对比,差别
默认值: 5.0
建议值: 2.0, 5.0, 10.0, 20.0, 50.0, 100.0
限制: Contrast > 0
Theta:
时间步
默认值: 1.0
建议值: 0.5, 1.0, 3.0
限制: Theta > 0
Iterations:
迭代次数
默认值: 10
建议值: 1, 3, 10, 100, 500
限制: Iterations >= 1
Halcon学习笔记2的更多相关文章
- Halcon学习笔记之支持向量机(二)
例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可 ...
- Halcon学习笔记之支持向量机(一)
例程:class_overlap_svm.hdev 说明:这个例程展示了如何用一个支持向量机来给一幅二维的图像进行分类.使用二维数据的原因是因为它可以很容易地联想成为区域和图像.本例程中使用了三个互相 ...
- halcon学习笔记——机器视觉工程应用的开发思路【转】
转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应 ...
- Halcon学习笔记——条形码的定位与识别
一维码的原理与结构 条码基本原理是利用条纹和间隔或宽窄条纹(间隔)构成二进制的”0“和”1“,反映的是某种信息. 一维条码数据结构,分四个区域.组成分别为静区.起始/终止符.校验符.数据符. 一维条码 ...
- Halcon学习笔记——机器视觉应用工程开发思路及相机标定
机器视觉应用工程开发思路 机器视觉应用工程主要可划分为两大部分,硬件部分和软件部分. 1.硬件部分,硬件的选型至关重要,决定了后续工作是否可以正常开展,其中关键硬件部分包括:光源,相机以及镜头. 2. ...
- Halcon学习笔记1
转:https://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应 ...
- halcon学习笔记——(11)Image,region,xld初步
一 读取的3种方式: 读取单张的图片: read_image( image,'filename') //image 是输出对象,后面是输入文件的路径和名称 读取多图: 1,申明一个数组,分别保存路径 ...
- Halcon学习笔记之缺陷检测(二)
例程:detect_indent_fft.hdev 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波 ...
- Halcon学习笔记之缺陷检测(一)
例程:surface_scratch.hdev 说明:这个程序利用局部阈值和形态学处理提取表面划痕 代码中绿色部分为个人理解和注释,其余为例程中原有代码 *surface_scratch.hdev:e ...
- HALCON学习笔记
2019-2-2: 硬件选型--->镜头光源相机选型第一讲.avi: 高斯公式:1/u+1/v=1/f u:物距 v:像距 f:焦距 线放大倍率:像高/物高 或者 像距/物距 镜头需要掌握 ...
随机推荐
- CodeForces-245H:Queries for Number of Palindromes(3-14:区间DP||回文串)
Times:5000ms: Memory limit:262144 kB 给定字符串S(|S|<=5000),下标由1开始.然后Q个问题(Q<=1e6),对于每个问题,给定L,R,回答区间 ...
- POJ3304:Segments (几何:求一条直线与已知线段都有交点)
Given n segments in the two dimensional space, write a program, which determines if there exists a l ...
- Watir: Watir-WebDriver对富文本编辑器的定位于Watir是不一致的。
Watir对富文本编辑,一般可以采用b.frame().document.body.innerText = "Value you want to insert"但是Watir-We ...
- Watir: 当出现错误提示AutoItX3.dll 没有注册的时候,该怎么处理?
对于Ruby 1.8版本,以管理员身份运行命令行窗口,输入Regsvr32 AutoItX3.dll路径即可.对于1.9 版本,路径与1.8版本是不同的,我们可以进入Ruby安装目录下,搜索AutoI ...
- 嵌入式Linux学习方法——给那些彷徨者(下)
上一章解决了嵌入式Linux的“学什么”问题,这一章则具体来说一下“怎么学”. 只要做好以下3点: 1.学习顺序.学习任何东西都应该由浅入深,不能一口吃下一个大胖子,得循序渐进.很多刚开始想学习Lin ...
- bzoj 2151 种树 —— 思路+链表
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2151 先都放进堆里取最大的,但选了一个就不能选它两边的,所以可能不是最优,要有“反悔”的措施 ...
- javascript ==等于与===恒等于
==判断是否等于,只判断数值 ===代表恒等于,不仅判断数值,而且判断类型 var a=5; var b="5"; (a b 只是数值上相等,但是类型并不相等) a==b //tr ...
- python-day-9- 进程-异步IO\
本节内容 进程 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 多进程multiprocessing multiprocessing is a package that sup ...
- C++实现查找链表中环的入口节点
/* * 寻找链表中环的入口节点.cpp * * Created on: 2018年4月10日 * Author: soyo */ #include<iostream> using nam ...
- 10.22~10.28一周经典题目整理(meeting,BZOJ4377,POJ3659)
meeting:给正n边形每个点染上黑色或者白色,问有多少个同色的等腰三角形. 以正五边形为例这里将最上面的点作为顶点,得到若干对相等的腰 ,注意到以最上面的点作为顶点的等腰三角形的个数,等于颜色相等 ...