1、顶帽变换

顶帽变换是在原图像基础上做出的形态学变换 原图像III,即用原图像减掉原图像的开运算
类似地,底帽变换就是用原图像减掉原图像的闭运算
代码实现具体例子:用顶帽变换实现对模糊文章的复原,具体包括如下几步:
1获取原图像,
2设计结构元,
3对原图像进行颜色翻转,
4对图像进行开运算,
5用图像减掉开运算后的图像,
6二值化后翻转颜色

I= cv.imread('pic/page760x900.jpg',0)Ic=255-I #翻转颜色K=np.ones((21,21),np.uint8)Ic_open=cv.morphologyEx(Ic,cv.MORPH_OPEN,K)Ic_tophat=cv.subtract(Ic,Ic_open)_,Ic_bin=cv.threshold(Ic_tophat,25,255,0)I_bin=255-Ic_binshow(I_bin)


OpenCV具有自带的顶帽、底帽运算cv.morphologyEx(img,cv.MORPH_TOPHAT,K) #顶帽运算

I= cv.imread('pic/page760x900.jpg',0)Ic=255-I #翻转颜色K=np.ones((21,21),np.uint8)Ic=cv.morphologyEx(img,cv.MORPH_TOPHAT,K) #顶帽运算_,Ic_bin=cv.threshold(Ic_tophat,25,255,0)#二值化I_bin=255-Ic_bin#颜色翻转show(np.hstack([I,I_bin]))

2、击中击不中变换

击中击不中变换用于精确匹配目标。
击中击不中变换是同样是在原图像基础上做出的形态学变换 原图像III,即用原原图像的腐蚀与互补图像(颜色相反)的腐蚀图像的交集
下面具体例子匹配右下正方形的中心,具体步骤:
1 设计两个与匹配图像大小相同的结构元,这两个结构元互补。
2 获取原图像
3 使用结构元K对原图像进行腐蚀
4 对原图像取反集
5 对反集图像用结构元K2进行腐蚀
6 对两个腐蚀图像取交集已获得目标
代码如下:

I=cv.imread('pic/rectangle_find35.png',-1)
K=np.zeros((37,37),np.uint8)
K[1:36,1:36]=1
Iek=cv.erode(I,K)
Ic=255-I
Kc=1-K
IceKc=cv.erode(Ic,Kc)
hitmiss=cv.bitwise_and(Iek,IceKc)

结构元K为:
原图像与捕获图像:

数字图像处理_07.2_(顶帽变换,击中击不中原理)相关推荐

  1. opencvsharp图像处理_腐蚀与膨胀,击中击不中变换(3)

    膨胀:dilate为核B对核A做卷积时,核B覆盖区域的像素最大值提取 腐蚀:erode 为核B对核A做卷积时,核B覆盖区域的像素最小值提取 击中击不中变换:有两个不相交集合B={B1,B2},用B1去 ...

  2. OpenCV-Python击中击不中HITMISS形态变换详解

    ☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.引言 从学习完黑帽变换后的这段时间,都在学习和钻研基本形态变换的最后一个变换–击中击不 ...

  3. 区域填充与击中击不中变换

    1,区域填充 %区域填充 clear,clc,close all; BW1 = logical([1 0 0 0 0 0 0 0; 1 1 1 1 1 0 0 0;1 0 0 0 0 0 1 0; 1 ...

  4. 图像形态学——击中击不中

    说明:关于击中击不中问题还有很多疑点,代码实现存在问题,日后遇到在详细解决. 击中击不中变换 击中击不中变换是形状检测的一个基本工具. 设X为目标图像,B为结构元素,且B由两个不相交的部分 B 1 B ...

  5. 数字图像处理 击中击不中变换

    参考链接 目的: 击中击不中变换就是在A图像上找到和B图像一致的那块区域,举个例子就是:你拿着一张A图片的一部分,你需要在A图像上找到这张图片在A图片上的位置在哪(注意,这里找到的位置,都是一个点,也 ...

  6. MATLAB--数字图像处理 击中击不中变换

    击中击不中变换 原理 击中击不中变换(HMT)需要两个结构元素B1和B2,合成一个结构元素对B=(B1,B2) 一个用于探测图像内部,作为击中部分;另一个用于探测图像外部,作为击不中部分.显然,B1和 ...

  7. 数字图像处理入门(一) 击中击不中

    形态学的击中和击不中是形状检测的基本工具. 其基本原理为:(集合X为原二值化图像的像素集合,对X取反求得~X(非X, Y表示), 选择的结构元为s1, 对结构元s1取反的结构元为s2) 首先对用s1对 ...

  8. 详解图像形态学中的击中击不中变换操作(HMT),并提醒大家OpenCV4中的击中击不中变换操作是有问题的

    大家看这篇博文前可以先看一看下面这篇博文,下面这篇博文是这篇博文的基础: 详解图像形态学操作之图形的腐蚀和膨胀的概念和运算过程,并利用OpenCV的函数erode()和函数dilate()对图像进行腐 ...

  9. 【youcans 的 OpenCV 例程 200 篇】120. 击中-击不中变换

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  10. OpenCV实现击中击不中变换和形态学细化

    1 击中击不中变换 1.1 HMT概述 形态学Hit-or-Miss是形状检测基本工具,只要结构元设置得当,就可以检测一些基本的形状图案,HMT变换只能作用于二值图像,结构元(核)元素值由0.1.-1 ...

最新文章

  1. 时间序列的建模新思路:清华、李飞飞团队等提出强记忆力E3D-LSTM网络
  2. 江苏省2013年会计从业资格考试《会计基础》全真模拟试题
  3. ​EMNLP 2021 最新综述:语言模型中的关系性知识
  4. docker之docker-machine用法
  5. 网页搜索怎么显示排名_深圳seo搜索排名优化效果怎么样
  6. 本地Jupyter连接远程linux服务器
  7. Web前端技术趋势:HTML5仍不宜用作生产
  8. 20200909:链表类题目集合下
  9. python简单程序实例-python下10个简单实例代码
  10. Hadoop体系结构– YARN,HDFS和MapReduce
  11. 01. 慎重选择容器类型
  12. 【通俗理解】开漏/开集,线与
  13. 配置JDK、Tomcat环境、DNK环境
  14. 互联网早报 | 8月26日 星期三 | 蚂蚁集团递交招股文件;TikTok首次披露用户数据;滴滴开辟首个欧洲市场...
  15. xv6操作系统中增加一个系统调用
  16. C# 根据身份证号码获取人员性别和出生年月
  17. 切勿妄谈Hadoop,以及4个数据管道打造实践
  18. Android中关于Manifest的权限注册问题
  19. 华为手机打开图片很慢是怎么回事_华为手机打开应用很慢怎么办
  20. Atitit.论图片类型 垃圾文件的识别与清理  流程与设计原则 与api概要设计 v2 pbj...

热门文章

  1. python爬虫之淘宝秒抢软件
  2. MOOC·嵩天老师团队·北京理工大学:《Python语言程序设计》自学笔记
  3. CAD命令输入、结束、重复与撤销
  4. 基于MK802的应用开发和相关的工具
  5. jpg图片太大怎么压缩?jpg图片怎么压缩大小?
  6. linux转录组kegg注释,KEGG pathway 注释整理
  7. 手机内存文件夹html,手机内存不够用?这6个文件夹要定时清理,至少能省下2个G...
  8. 判断两篇文章的相似度
  9. 2018网易内推测试工程师面试记录
  10. 为什么程序员很难找到合适的另一半?