Halcon图像增强equ_histo _image/emphasize/scale _image max/shock_filter

2024-03-23 14:40

本文主要是介绍Halcon图像增强equ_histo _image/emphasize/scale _image max/shock_filter,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Halcon图像增强

文章目录

  • Halcon图像增强
    • 1. 直方图均衡
    • 2. 增强对比度
    • 3. 处理失焦图像

图像增强主要是为了突出图像中的细节,为后续的特征识别或者检测做准备。图像增强可以有
多种方式,本节介绍直方图均衡、增强对比度、处理失焦图像这3种方式。

1. 直方图均衡

直方图均衡就是从图像的灰度图入手,建立一个0~255灰度值的直方图,统计每个灰度值在直方图中出现的次数,将灰度图中对应点的灰度值记录在直方图中。接着对该直方图进行均衡化操作,使像素的灰度值分布得更加均匀,从而增强图像的亮度。在Halcon 中可以使用equ_histo_image 算子进行直方图均衡,举例如下:

*读取图像,如果是彩色图像,需要转化为单通道黑白图像
read_image (board, 'data/boardEqu')
rgbl_to_gray (board, GrayImage)
equ_histo _image (GrayImage, ImageEquHisto)
*显示直方图
gray _histo (board, board, AbsoluteHistol, RelativeHisto1)dev_open_window (0, 0, 512, 512, 'black', WindowHandle)dev _set_color ('red')
gray_histo (ImageEquHisto, ImageEquHisto, AbsoluteHisto2, RelativeHisto2)
gen_region _histo (Histol, AbsoluteHistol, 255, 5,1)
dev_set_color ('green')
gen_region histo (Histo2, AbsoluteHisto2, 255, 450, 1)

在这个例子中,使用了cqu_histo_image 算子对图像的灰度直方图进行了均衡。图(a)为原始图像,图(b)为均衡后的图像,可见亮度有明显提升。
在这里插入图片描述

2. 增强对比度

除了可以使用均衡直方图增加亮度外,还可以增强图像的对比度,对图像的边缘和细节进行增
强,使其更加明显。在Halcon图像处理中,可以使用emphasize算子实现这一操作。代码举例如下,

read_image (text,'data/text')
emphasize (text, ImageEmphasize, 10, 10, 1.5)
dev_display(ImageEmphasize)

在这个例子中,使用了cmphasize 算子对图像的对比度进行了增强。如图所示为增强对比度
的结果。图(a)为原始图像,图(b)为增强对比度后的图像,可见对比度有明显提升。
在这里插入图片描述
除了使用emphasize 算子外,还可以使用scale image max 算子进行图像对比度增强,使其明暗变化更加明显。代码举例如下:

read image (text, 'data/text')
scale _image max (text, ImageScaleMax)
dev_display(ImageScaleMax)

在这个例子中,使用了scale_image_max对图像的对比度进行了增强。如图所示为增强对比度的结果。图(a)为原始图像,图(b)为使用scale_image max算子增强对比度后的图像,可见对比度有明显提升。
在这里插入图片描述

3. 处理失焦图像

一些对焦不准的图像可能存在模糊不清的问题,这时需要考虑锐化操作。锐化的算子有很多,常见的如Sobel算子、Canny算子、Laplace算子等。本文介绍一种常用的冲击滤波器,其也可以进行边缘的增强,原理是在图像的边缘形成一些冲击,以对边缘进行增强。Halcon 中使用shock_filter 算子实现这一功能。代码举例如下:

read image (test, 'data/defocusComponnet')
shock_filter (test, SharpenedImage, 0.5, 20, 'canny', 2.5)
dev_display(SharpenedImage)

shock_filter算子的第5个参数是canny,也可以选择laplace,分别对应两种不同的边缘检测算子。锐化效果如图所示。
在这里插入图片描述
由图可以看出,模糊的边缘变得清晰,但边缘仍有毛刺等不平滑现象,可以进一步调节锐化参数,直至得到比较理想的效果。

这篇关于Halcon图像增强equ_histo _image/emphasize/scale _image max/shock_filter的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838625

相关文章

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

file-max与ulimit的关系与差别

http://zhangxugg-163-com.iteye.com/blog/1108402 http://ilikedo.iteye.com/blog/1554822

Hbase Filter+Scan 查询效率优化

Hbase Filter+Scan 查询效率问题 众所周知,Hbase利用filter过滤器查询时候会进行全表扫描,查询效率低下,如果没有二级索引,在项目中很多情况需要利用filter,下面针对这种情况尝试了几种优化的方案,仅供参考,欢迎交流。 根据业务要求,作者需要根据时间范围搜索所需要的数据,所以作者设计的rowKey是以时间戳为起始字符串的。 正确尝试: 1.scan 设置 开始行和结

Filter基本原理和使用

https://www.cnblogs.com/xdp-gacl/p/3948353.html 一、Filter简介   Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能。例如实现URL级别的权限访问控

POJ 1050 To the Max(枚举+动规)

题目: http://poj.org/problem?id=1050 题解: 此题转化成一维后就相当于求最大连续子序列了,可以枚举所有的行组合,把枚举到的起始行到终止行的值按列相加存入一个一维数组。 代码: #include<cstdio>#include<cstring>int a[101][101];int value[101];int dp[101];int max(

android xml之动画篇 alpha、scale、translate、rotate、set的属性及用法 和

1.简介 Android的补间动画TweenAnimation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《Animation Resources》 逐帧动画 FrameAnimation(也称 Drawable Animation  ):animation-list alpha 渐变透明度动画效果 scale 渐变

Android AnimationDrawable资源 set[translate,alpha,scale,rotate]

本文内容摘自《疯狂Android讲义 第三版-李刚著作》 xml <?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"android:duration="1000"android:fillAfter="true"android:f

报错:Reached the max session limit(DM8 达梦数据库)

报错:Reached the max session limit - - DM8 达梦数据库 1 环境介绍2 数据库启动SYSTEM IS READY后面日志3 数据库刚启动日志4 达梦数据库学习使用列表 1 环境介绍 某项目无法连接数据库,报错:超过最大会话数限制 , 检查 dmdba ulimit -a openfiles 已改检查 dm.ini 其中 MAX_SESSION

在UE的内容浏览器中添加自定义的Filter

目标需求 在UE的内容浏览器中,可以使用Filter来过滤资源: 目标需求是在这之中添加一个自定义的Filter。 其代码上是非常简单的,在本文末尾。 然而我觉得找到方法的过程也是挺有意思的,因此我也记录了下来。 探索过程 1. 在哪定义? 首先,我猜测Other Filters下的各个项目,也都是通过代码添加的。因此,我调了其中一项,比如Show Redirectors,然后对代码进