图像预处理

一般来说,我们采集到的图像会有一些小黑点,小斑点,不平滑等因素会会影响我们后期的算法,此时就需要我们对其图片进行预处理。

下面是一些预处理基本算子:

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的更多相关文章

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

    例程:classify_halogen_bulbs.hdev 在Halcon中模式匹配最成熟最常用的方式该署支持向量机了,在本例程中展示了使用支持向量机对卤素灯的质量检测方法.通过这个案例,相信大家可 ...

  2. Halcon学习笔记之支持向量机(一)

    例程:class_overlap_svm.hdev 说明:这个例程展示了如何用一个支持向量机来给一幅二维的图像进行分类.使用二维数据的原因是因为它可以很容易地联想成为区域和图像.本例程中使用了三个互相 ...

  3. halcon学习笔记——机器视觉工程应用的开发思路【转】

    转自:http://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应 ...

  4. Halcon学习笔记——条形码的定位与识别

    一维码的原理与结构 条码基本原理是利用条纹和间隔或宽窄条纹(间隔)构成二进制的”0“和”1“,反映的是某种信息. 一维条码数据结构,分四个区域.组成分别为静区.起始/终止符.校验符.数据符. 一维条码 ...

  5. Halcon学习笔记——机器视觉应用工程开发思路及相机标定

    机器视觉应用工程开发思路 机器视觉应用工程主要可划分为两大部分,硬件部分和软件部分. 1.硬件部分,硬件的选型至关重要,决定了后续工作是否可以正常开展,其中关键硬件部分包括:光源,相机以及镜头. 2. ...

  6. Halcon学习笔记1

    转:https://www.cnblogs.com/hanzhaoxin/archive/2013/02/15/2912879.html 机器视觉工程应用主要可划分为硬件和软件两大部分. 硬件:工程应 ...

  7. halcon学习笔记——(11)Image,region,xld初步

    一 读取的3种方式: 读取单张的图片: read_image( image,'filename') //image 是输出对象,后面是输入文件的路径和名称 读取多图: 1,申明一个数组,分别保存路径 ...

  8. Halcon学习笔记之缺陷检测(二)

    例程:detect_indent_fft.hdev 说明:这个程序展示了如何利用快速傅里叶变换(FFT)对塑料制品的表面进行目标(缺陷)的检测,大致分为三步: 首先,我们用高斯滤波器构造一个合适的滤波 ...

  9. Halcon学习笔记之缺陷检测(一)

    例程:surface_scratch.hdev 说明:这个程序利用局部阈值和形态学处理提取表面划痕 代码中绿色部分为个人理解和注释,其余为例程中原有代码 *surface_scratch.hdev:e ...

  10. HALCON学习笔记

    2019-2-2: 硬件选型--->镜头光源相机选型第一讲.avi: 高斯公式:1/u+1/v=1/f  u:物距  v:像距 f:焦距 线放大倍率:像高/物高  或者 像距/物距 镜头需要掌握 ...

随机推荐

  1. Dijkstra堆优化

    Dijkstra是一个非常不错的最短路算法,它使用两层循环进行枚举,通过每次更新蓝白点的方式更新最短路,时间复杂度为O(n^2),优于floyd的O(n^3),不过只能用于计算单源最短路,而且无法处理 ...

  2. .NETFramework:HttpContext

    ylbtech-.NETFramework:HttpContext 1.返回顶部 1. #region 程序集 System.Web, Version=4.0.0.0, Culture=neutral ...

  3. Javaweb中利用kaptcha生成验证码

    引入kaptcha-2.3-jdk15.jar包 在web.xml中进行配置 <servlet> <servlet-name>Kaptcha</servlet-name& ...

  4. 1004 n^n的末位数字

    题目来源: Author Ignatius.L (Hdu 1061) 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题   给出一个整数N,输出N^N(N的N次方)的十 ...

  5. Linux入侵检测工具

    原文:https://www.cnblogs.com/lvcisco/p/4045203.html 一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统 ...

  6. 011--python基础知识

    一.python类型 编译型和解释型 编译型: 优点:编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高.可以脱离语言环境独立运行. 缺点:编 ...

  7. ubuntu的NAT方式上网配置

    vm菜单栏虚拟机--->设置---->网络适配器---->勾选NAT方式 vi /etc/network/interfaces修改配置文件如下: auto loiface lo in ...

  8. HDU 5883 The Best Path (欧拉路或者欧拉回路)

    题意: n 个点 m 条无向边的图,找一个欧拉通路/回路使得这个路径所有结点的异或值最大. 析:由欧拉路性质,奇度点数量为0或2.一个节点被进一次出一次,度减2,产生一次贡献,因此节点 i 的贡献为 ...

  9. Gradle系列之二 Groovy对文件的操作

    Groovy对文件的操作 对文件的遍历 假设文件的原始内容为: hello,world 这里是北京 andorid and ios are good system 第一种方法:使用 eachLine( ...

  10. 如何实现session的共享?

    1.以cookie加密的方式保存在客户端. 优点是减轻服务器端的压力 缺点是受到cookie的大小限制,可能占用一定带宽,因为每次请求会在头部附带一定大小的cookie信息,另外这种方式在用户禁止使用 ...