1、读取图片

1、读取单个图片:

1.1 直接用算子read_image

read_image (Image, 'C:/Users/49938/Pictures/cat.jpg')

2、读取多个图片

2.1 定义一个存放图片路径的数组,通过循环读取

imagepath:=[]

imagepath[0]:=['D:/1.tiff']
imagepath[1]:=['D:/2.tiff']
imagepath[2]:=['D:/3.tiff']
for Index := 1 to 5 by 1
read_image (Image,imagepath[Index])
endfor

2、图像预处理

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

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

1、消除噪声:mean_image/binomial_filter

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

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

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

5、scale_image

scale_image(Image : ImageScaled : Mult, Add : )缩放图像的灰度值。最佳Mult和Add值的选取由下: 

其中:GMin为图像的最大灰度值,GMax为图像的最小灰度值。

可配合算子min_max_gray(Regions, Image : : Percent : Min, Max, Range)得到。

min_max_gray(Regions, Image : : Percent : Min, Max, Range)确定区域内的最小和最大灰度值

min_max_gray创建输入图像图像区域内灰度值绝对值的直方图(参见gray_histo),并计算与输入图像区域相对应的像素百分比。然后它会在直方图的两边以这个像素的数量向内移动,并确定最小和最大的灰度值。

Halcon入门笔记一相关推荐

  1. vue router 入门笔记

    vue router 入门笔记 tips: components优先级大于component,即当一个route对象里同时配置了component和components时component视为无效 即 ...

  2. 十年公务员转行IT,自学AI三年,他淬炼出746页机器学习入门笔记

    整理 | Jane 编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 近期,梁劲传来该笔记重大更新的消息.<机器学习--从入门到放弃>这本笔记的更新没有停止,在基于 ...

  3. html缩进快捷键_HTML 入门笔记

    HTML 入门笔记 HTML (HyperText Markup Language) 不是一门编程语言,而是一种用来告知浏览器如何组织页面的标记语言. HTML 可复杂.可简单,一切取决于开发者. 它 ...

  4. Python3入门笔记(1) —— windows安装与运行

    Python3入门笔记(1) -- windows安装与运行 Python的设计哲学是"优雅"."明确"."简单".这也是我喜欢Python ...

  5. [Java入门笔记] 面向对象编程基础(二):方法详解

    2019独角兽企业重金招聘Python工程师标准>>> 什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能 ...

  6. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  7. python3入门与进阶笔记_我的Python3萌新入门笔记

    Python3萌新入门笔记是一系列真实的自学笔记. 当然,它也是比较全面的入门教程,共包括54篇笔记. 从第一篇笔记开始,大半年的时间我都是在自学和组织教程内容. 我觉得有必要,把我自己的学习过程和大 ...

  8. MySql入门笔记二~悲催的用户

    这些是当年小弟的MySql学习笔记,木有多么复杂的结构操作,木有多炫丽的语句开发,木有...总之就是木有什么技术含量... 日复一日,彪悍的人生伴随着彪悍的健忘,运维操作为王,好记性不如烂笔头,山水有 ...

  9. 2接口详解_TS入门笔记2——TS接口进阶详解

    TS入门笔记--TS接口进阶详解 一.为什么需要接口? let obj:object; // 定义了一个只能保存对象的变量 // obj = 1; // obj = "123"; ...

  10. 深度学习入门笔记系列(三)——感知器模型和 tensorboard 的使用方法

    本系列将分为 8 篇 .今天是第三篇 .主要讲讲感知器模型和 tensorboard 的基本使用方法 . 1. 感知器模型 因为小詹之前写过一篇感知器模型的介绍 ,这里就不赘述了 .有需要巩固的点击如 ...

最新文章

  1. 非阻塞同步机制和CAS
  2. python中的非阻塞使用互斥锁
  3. HTML文本下划线效果,聊聊CSS中文本下划线_CSS, SVG, masking, clip-path, 会员专栏, text-decoration 教程_W3cplus...
  4. arcgis不闭合线转面_【干货】ArcGIS矢量面转点、点转面,面矢量转点矢量方法讲解,值得学习!...
  5. Unity3D客户端和Java服务端使用Protobuf
  6. UILable和UITextField的详细讲解
  7. 寻找链表倒数第k个节点
  8. 瑞芯微RK2918、全志A10和AML8726-M3方案ICS系统运行效果对比
  9. IT人不要一辈子靠技术生存
  10. 小白使用Eclipse 的基本设置
  11. 力扣-1022. 从根到叶的二进制数之和
  12. 【网络学习】Coverity代码检查工具详细介绍
  13. chrome安装油猴插件
  14. Python:保存文件npy格式
  15. Hive性能调优实战 总结一
  16. 关于windows下的System32与SysWOW64两个文件夹
  17. Hive之数据类型、查询操作
  18. php实现登录验证码_PHP实现登录验证码功能
  19. css中如何使div元素居中垂直水平居中
  20. 再说说微软为什么会转型成功

热门文章

  1. netscreen MIP 问题
  2. php讲用户输入的值存入数组,如何将表单输入数组转换为PHP数组
  3. [2018.07.14 T3] B君的第六题
  4. [线筛五连]线筛莫比乌斯函数
  5. 计算机导论的计算题,计算机导论复习题(选择部分)汇总
  6. 38译码器verilog代码_Verilog设计实例(2)一步一步实现一个多功能通用计数器
  7. python远程执行shell脚本文件_python SSH模块登录,远程机执行shell命令实例解析
  8. 为什么在java中不能创建泛型数组
  9. (1)封装JSON数据的三种方式
  10. python基础学习笔记(七)