鸟叔《HALCON工业应用实用教程》学习笔记

灰度直方图

定义

灰度直方图是灰度值的函数,描述了图像中具有该灰度值的像素的个数,横坐标是像素的灰度级,纵坐标是该灰度值出现的频率或这个灰度值像素的个数。

算子

gray_histo(Regions, Image : : : AbsoluteHisto, RelativeHisto)
gen_region_histo( : Region : Histogram, Row, Column, Scale : )
histo_to_thresh( : : Histogramm, Sigma : MinThresh, MaxThresh)

示例

read_image (Image, 'fabrik')
*生成直方图
gray_histo (Image, Image, AbsoluteHisto, RelativeHisto)
*生成直方图区域
gen_region_histo (Region, AbsoluteHisto, 255, 255, 1)
*根据直方图求分割阈值 该函数先进行高斯平滑
histo_to_thresh (AbsoluteHisto, 2, MinThresh, MaxThresh)
*二值化
threshold (Image, Region1, 128, 255)

灰度的线性变换

算子

scale_image(Image : ImageScaled : Mult, Add : )
scale_image_max(Image : ImageScaleMax : : )

示例

read_image (Image, 'mvtec_logo.png')
*求图像最小灰度值和最大灰度值
min_max_gray (Image, Image, 0, Min, Max, Range)
*拉伸灰度值
scale_image_max (Image, ImageScaleMax)
*求图像最小灰度值和最大灰度值
min_max_gray (ImageScaleMax, ImageScaleMax, 0, Min, Max, Range)

使用这种方法,可以将一个灰度值分布区域拉伸到0—255之间,可以提高图像的对比度,从而使目标物与背景区分开来。

直方图均衡化

算子

equ_histo_image(Image : ImageEquHisto : : )
equ_histo_image其实也是直方图线性化,只不过它是把出现频率比较高的灰度值在0—255之间均匀分布开,所以结果会增加对比度,而且程度比scale_image_max更高,因为出现频率越高的灰度值,间隔约远。我认为当图像的出现频率高的灰度值集中在一个小区域内,但是整体的灰度值又铺满了所有范围,此时使用equ_histo_image更好。

示例

read_image (Vessel, 'vessel')
equ_histo_image (Vessel, ImageEquHisto)

图像翻转

算子

invert_image(Image : ImageInvert : : )

示例

read_image (Image, 'mvtec_logo.png')
invert_image (Image, ImageInvert)

图像加、减、乘、除

算子

add_image(Image1, Image2 : ImageResult : Mult, Add : )
g’ := (g1 + g2) * Mult + Add
sub_image(ImageMinuend, ImageSubtrahend : ImageSub : Mult, Add : )
g’ := (g1 - g2) * Mult + Add
mult_image(Image1, Image2 : ImageResult : Mult, Add : )
g’ := (g1* g2) * Mult + Add
div_image(Image1, Image2 : ImageResult : Mult, Add : )
g’ := (g1 /g2) * Mult + Add

图像绝对差异处理

算子

abs_diff_image(Image1, Image2 : ImageAbsDiff : Mult : )
g’ = |(g1 - g2)| * Mult

图像最大值处理、最小值处理

比较两幅图像每个像素的灰度值大小,并将较大/较小灰度值作为新图像该像素点的灰度值。

算子

max_image(Image1, Image2 : ImageMax : : )
min_image(Image1, Image2 : ImageMin : : )

Halcon图像预处理与形态学(图像的点运算)相关推荐

  1. Halcon图像预处理与形态学(图像的滤波)

    图像平滑 smooth_image(Image : ImageSmooth : Filter, Alpha : ) Smooth an image using various filters. 递归滤 ...

  2. Halcon图像预处理与形态学(形态学)

    形态学 1. 腐蚀和膨胀 1.1 定义 1.2 算子 2. 开运算和闭运算 3. 骨架 3.1 junctions_skeleton / split_skeleton_lines 3.2 split_ ...

  3. Halcon图像预处理与形态学(图像的几何变换)

    插值算法 在对图像进行变换时可能产生一些原图中非整数未知的点,此时需要进行插值运算来计算这一点的灰度值.Halcon中有两种常用的插值算法:最邻近插值('nearest_neighbor')和双线性插 ...

  4. 指纹识别-(5)指纹图像预处理算法之图像方向场

    3.指纹图像方向场 指纹的方向场是指纹图像的一种固有属性,反映了指纹图像场的中心.圆形纹线趋势场.斜角度直纹线趋势场.水平纹线趋势场及混合趋势场等.方向场求取最简单的方法就是利用梯度场,方向角\the ...

  5. OCR识别之图像预处理

    OCR识别之图像预处理 图像预处理之作用及效果 图像预处理之操作 图像预处理之源代码 图像预处理之作用及效果 无论是使用图像来做识别还是别的操作,都需要对图像做一定的预处理操作,预处理的作用是方便后续 ...

  6. cv2.imread读取图像结果none_keras遥感图像Unet语义分割(支持多波段amp;多类)

    前言 网上其实有好多unet的教程,但是大多不支持多波段(遥感图像除了RGB波段还有红外等其他波段),多类别的话标签做onehot编码的时候类别颜色要手动输入.针对这两个问题,今天写下这篇文字. 有问 ...

  7. Halcon图像预处理之灰度形态学

    Halcon图像预处理之灰度形态学 灰度形态学处理有腐蚀,膨胀,开运算,闭运算,顶帽操作,低帽操作等.可以对图像进行图像平滑,图像增强,图像分割等. 1. 图像平滑 gray_opening_shap ...

  8. Halcon图像预处理-图像的变换与校正

    提示:本文参考了网上其他相关文章,如有侵权,请联系作者. 文章目录 前言 一.图像处理与矩阵(Matrix).齐次坐标 1.图像的平移 2.图像的旋转 3.图像的缩放 4.补充 二.仿射变换 1.仿射 ...

  9. 《HALCON机器视觉与算法原理编程实践》第5章 图像预处理-学习笔记

    文章目录 5.1 图像变换与校正 5.1.1 二维图像的平移.旋转和缩放 5.1.2 图像的仿射变换 5.1.3 投影变换 5.1.4 实例:透视性变图像校正 5.2 感兴趣区域(ROI) 5.2.1 ...

最新文章

  1. SAP 差旅报销集成方案的实现
  2. Iframe中的SSRS报表中使用windows.open在新窗口中不能打开URL中的问题
  3. Java调用Matlab
  4. Maven仓库理解、如何引入本地包、Maven多种方式打可执行jar包
  5. Win32应用程序的基本结构
  6. 2016 ICPC 大连网络赛 部分题解
  7. 计算机-flash遮罩层动画,FLASH遮罩动画原理及应用
  8. 利用 0day 双杀-java 环境-宏感染-安卓客户端渗透
  9. Vue.js / Nuxt.js / uni-app - 移动端 H5 网页,在电脑 PC 上打开时居中显示(手机网页在电脑上打开后,简单粗暴防止 “界面样式“ 拉伸变形的解决方案)适用所有web项目
  10. MySQL有几部分_数据库系统有哪几部分组成?
  11. 计算机一直在启动界面进不去怎么办,Win7系统开机一直停留在“Windows正在启动”界面怎么办...
  12. seo外包公司可以为企业带来什么好处
  13. 天道酬勤,奋斗不止!
  14. 使用JMETER进行REST API测试(分步指南)
  15. SCI和SCIE的区别和联系
  16. 如何评估个人的软件开发能力
  17. 山洪灾害监测预警系统解决方案
  18. unity用虚拟相机截图
  19. 电池电量管理软件Batteries for Mac
  20. (转)蚂蚁变大象:浅谈常规网站是如何从小变大的

热门文章

  1. linux计划任务与日志管理(日志分割/切割)
  2. WebLogic 之安全配置
  3. OpenStack常见命令与问题集合
  4. 运维工程师面试题 ----- 系统网络类
  5. WinFom解决最小化最大化后重绘窗口造成闪烁的问题
  6. MVC 打印解决方案--SNF快速开发平台3.1
  7. JavaWeb项目启动时,tomcat会启动两次的原因(之一)和解决方案
  8. App 签名过期或泄露怎么办?别担心,Google 已经给出解决方案!
  9. 解决plsql中中文乱码问题
  10. tomcat端口被占用问题完美解决方案!