先看原图

由于这副图像的灰度是渐变的,如果直接进行二值化处理的话......,会是这个样子

附上顶帽操作相关介绍顶帽运算和黑帽运算 - 爱码网 (likecs.com)

先使用halcon自带顶帽函数操作

ead_image (Image, '//Mac/Home/Documents/halcon/demos/去除不均匀光线/1.png')
rgb1_to_gray (Image, GrayImage)
*直接二值化
threshold (GrayImage, Region, 128, 255)
*产生结构元素
gen_disc_se (SE, 'byte', 100, 100, 255)
*直接进行顶帽操作
gray_tophat (GrayImage, SE, ImageTopHat)
*再次二值化
threshold (ImageTopHat, Region1, 50,150)

顶帽后的结果

此时二值化的结果,可以看到顶帽操作完美解决了光线不均匀的问题

我们也可以根据顶帽操作的结构,先对灰度图像进行开操作,在用原图像减去开操作后的图像,结果是一样的。

read_image (Image, '//Mac/Home/Documents/halcon/demos/去除不均匀光线/1.png')
rgb1_to_gray (Image, GrayImage)
*直接二值化
threshold (GrayImage, Region, 128, 255)
*产生结构元素
gen_disc_se (SE, 'byte', 100, 100, 255)
*直接进行顶帽操作
gray_tophat (GrayImage, SE, ImageTopHat)
*再次二值化
threshold (ImageTopHat, Region1, 50,150)
*先进行开操作
gray_opening (GrayImage, SE, ImageOpening)
*将原图与开操作相减也可以得到顶帽操作后的图像
sub_image (GrayImage, ImageOpening, ImageSub, 1, 0)
threshold (ImageSub, Region2, 50, 150)

halcon—利用顶帽操作减轻图像灰度不均匀对二值化的影响相关推荐

  1. 利用最大熵进行阈值分割从而实现灰度图像的二值化的原理概要及OpenCV代码

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 详细的数学原理目前我也没搞明白,所以只说下原理概 ...

  2. 利用OpenCV的threshold函数实现双阈值法二值化操作的源码

    直接上源码吧,很简单,一看就懂,如果你不明白,可以举两个灰度值实际代入进行理解! 源码如下: 源码中用到的图像的下载链接为:hand1.jpg_免费高速下载|百度网盘-分享无限制 图像处理开发需求.图 ...

  3. OV2640灰度处理和软件二值化

    图像灰度化 1.分量法 2.最大值法 3.平均法 4.加权平衡法 计算灰度值流程 1.设置OV2640输出的数据为YUV422格式(16位数据的高字节为Y亮度值) void OV2640_YUV422 ...

  4. 利用OpenCV的函数createTrackbar创建滑动条查看二值化的最优阈值的源码及讲解

    图像处理开发需求.图像处理接私活挣零花钱,请加微信/QQ 2487872782 图像处理开发资料.图像处理技术交流请加QQ群,群号 271891601 这个功能的实现其实很简单,主要是要明白creat ...

  5. 【OpenCV 4开发详解】图像二值化

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  6. 二值化图像的欧拉数_Android OpenCV(八):图像二值化

    图像二值化 简介 图像二值化( Image Binarization)就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程.在数字图像处理中,二值图像占有非常重要的 ...

  7. 【图像处理】——图像的二值化操作及阈值化操作(固定阈值法(全局阈值法——大津法OTSU和三角法TRIANGLE)和自适应阈值法(局部阈值法——均值和高斯法))

    目录 一.二值化的概念(实际上就是一个阈值化操作) 1.概念: 2.实现方法 3.常用方法 二.阈值类型 1.常见阈值类型(主要有五种类型) (1)公式描述 (2)图表描述 2.两种特殊的阈值算法(O ...

  8. Python-OpenCV 处理图像(六)(七)(八):对象识别 图像灰度化处理 图像二值化处理

    为了加快处理速度,在图像处理算法中,往往需要把彩色图像转换为灰度图像. 0x00. 灰度图 灰度数字图像是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度. 灰度图像与黑 ...

  9. cv2 inrange灰度图_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...

    title: [python]基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析 type: categories copyright: true categories ...

最新文章

  1. php 上传图片并生成缩略图,php 图片上传并生成缩略图代码
  2. ORA-03135 ,ORA-02050到底什么原因?
  3. 程序世界的秘密(下)(完)
  4. 网站被黑你隔了多久才知道?
  5. @TransactionalEventListener与@Async实现事务提交后异步处理事件
  6. SD Price公式(例程,即Formula)
  7. STRUTS模拟试题
  8. vmware 搭建k8s无法ping通子节点_一波四折 —— 记一次K8S集群应用故障排查
  9. ab plc软件_【原创】AB上位机FactoryTalk View的使用教程(上)
  10. static数据的初始化
  11. linux ulipad,如何在windows下安装配置python工具Ulipad
  12. 《Java 面经手册》PDF,全书5章29节,417页11.5万字,完稿发版!
  13. linux系统论文题目大全_linux毕业设计
  14. IOS开发之逆向分析
  15. 护眼html颜色,在电脑中设置护眼颜色、更换网页背景色、一键护眼
  16. 简单的玻璃材质效果——UnityShader学习笔记
  17. yum clean all 是什么意思
  18. 百度云不限速破解详细教程附工具
  19. 制作poster+香港打印流程
  20. 如何正确获得Android内外SD卡路径

热门文章

  1. 数字后端面试100问(校招版)
  2. 十进制与二进制之间转换详解
  3. Canvas 3D球形文字云动画特效
  4. 打蚊子表情包_打蚊子表情包 - 打蚊子微信表情包 - 打蚊子QQ表情包 - 发表情 fabiaoqing.com...
  5. openstack是什么
  6. docker 容器中创建文件修改操作提示 Permission denied问题
  7. P1386 座位安排
  8. 设计分享 | STM32F103RCT6定时器定时中断原理
  9. 关于事件驱动架构在工作中的一些想法及实践
  10. 嵌入式linux图片浏览器,基于嵌入式Linux图片浏览器的设计与实现.doc