Halcon图像增强算子(直方图均衡化等)

简介: Halcon图像增强算子(直方图均衡化等)

Halcon中增强图像的对比度也是预处理中的一环,主要有如下方式:


1. 灰度变换


a. scale_image

    原理:可以理解为用一个模板扫描图像中的每一个像素,模板中像素最大值和最小值的差作为模板中心像素点的值。

    作用:拉开图像的对比度,让图像中黑的地方更黑,亮的地方更亮。


    scale_image: g’ := g * Mult + Add g为当前的灰度值,Mult 为所乘的系数,Add为加的偏移值,由公式可以看出用      scale_image来处理图像是个线性变化,会让黑的地方更黑,亮的地方更亮。


b. scale_image_max:将灰度值拉伸到0-255


2. 增强图像对比度


a. emphasize


  增强图像的高频区域(边缘和拐角),使图像看起来更清晰。


 res := round((orig - mean) * Factor) + orig


b. illuminate


   增强图像的高频区域(边缘和拐角),使图像看起来更清晰.


   new = round ( (val - mean) * Factor + orig )


3. 直方图均衡化


a. equ_histo_image


  增强图像的对比度,采用直方图的方式


4.灰度图像形态学

a. gray_opening


   结构元素在图像中滑,灰度值最高的值作为新值,有使图像变亮的作用。 

b.equ_histo_image


 结构元素在图像中滑,灰度值最低的值作为新值,有使图像变暗的作用。 

c. gray_range_rect


 用一个矩形结构元素在图像中滑动,新值 = (矩形中最大的)灰度值-(矩形中最大的)最小的灰度值

5.非线性灰度变换


log_image


pow_image

****对图像进行线性灰度变换*******
dev_clear_window ()
dev_close_window ()
read_image (Image, 'D:/org_R.jpg')
get_image_size (Image, Width, Height)
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
*灰度转化
rgb1_to_gray (Image, GrayImage)
GrayImage_1:= GrayImage
***********************************************************************
*计算图像的灰度值分布
gray_histo (GrayImage, GrayImage, AbsoluteHisto, RelativeHisto)
*获得灰度直方图
gen_region_histo (Region, AbsoluteHisto, 255, 255, 1)
***********************************************************************
dev_close_window ()
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)
dev_display (Image)
************************************************************************
*直方图均衡化
equ_histo_image (GrayImage_1, ImageEquHisto)
gray_histo (Region, ImageEquHisto, AbsoluteHisto1, RelativeHisto1)
*获得灰度直方图
gen_region_histo (Region1, AbsoluteHisto1, 255, 255, 1)
************************************************************************
*增强图像的高频区域(边缘和拐角),使图像看起来更清晰
illuminate (GrayImage_1, ImageIlluminate, Width, Height, 1)
*增强图像的高频区域(边缘和拐角),使图像看起来更清晰
emphasize (GrayImage_1, ImageEmphasize, Width, Height, 1)
*灰度变换
scale_image (GrayImage_1, ImageScaled, 0.9, 10)




---


推荐阅读


https://blog.csdn.net/weixin_43197380/article/details/91129854


相关文章
Halcon找圆系列(1)如何检测圆形
Halcon找圆系列(1)如何检测圆形
2566 0
Halcon找圆系列(1)如何检测圆形
|
算法 数据可视化
Halcon边缘检测和线条检测(1),文章含自适应/动态二值化等算子
Halcon边缘检测和线条检测(1),文章含自适应/动态二值化等算子
2065 0
halcon算子模板匹配(一)基于形状的模板匹配
halcon算子模板匹配(一)基于形状的模板匹配
3751 0
|
机器学习/深度学习 文字识别 算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
[Halcon&图像] 缺陷检测的一些思路、常规检测算法
6485 2
|
机器学习/深度学习 存储 文字识别
Halcon解决方案指南(18)OCR--字符识别
第18章 光学字符识别_OCR OCR(Optical Character Recongnition)即我们通常意义上讲的光学字符识别。在HALCON中,OCR常被用来分割区域及读取识别图像中的字符含义。
9088 57
|
传感器 编解码 算法
【2021 亚太杯数学建模】赛题A-Image Edge Analysis and application图像边缘分析与应用 赛题思路解析及实现
关于2021年亚太杯数学建模赛题A的解析,主要介绍了图像边缘分析与应用的方法,包括亚像素边缘检测、图像目标尺寸测量和亚像素直线段、圆弧段、椭圆段的分割,并提供了MATLAB和Halcon软件的实现方案。
329 0
|
资源调度 算法
[Halcon&测量] 一维测量
[Halcon&测量] 一维测量
565 0
[Halcon&测量] 一维测量
|
计算机视觉
[Halcon&图像] 图像增强算子汇总
[Halcon&图像] 图像增强算子汇总
636 1
|
计算机视觉
halcon系列基础之Scale_image_range
halcon系列基础之Scale_image_range
763 0
|
机器学习/深度学习 文字识别 算法
[Halcon&识别] OCR字符识别
[Halcon&识别] OCR字符识别
539 1