精华内容
下载资源
问答
  • 10.形态学图像处理

    2019-08-23 07:05:45
    2.形态学包括什么? 3.形态学图像处理原理 4.什么是结构元? 5.平坦/不平坦结构元 二 腐蚀 1.二值图像腐蚀 2.腐蚀【灰度图像平坦结构元】 3.腐蚀【灰度图像非平坦结构元】 4.腐蚀示例 三 膨胀 1.膨胀【二...

    目录

     

    一 基础知识

    1.形态学是什么?

    2.形态学包括什么?

    3.形态学图像处理原理

    4.什么是结构元?

    5.平坦/不平坦结构元

    二 腐蚀

    1.二值图像腐蚀

    2.腐蚀【灰度图像平坦结构元】

    3.腐蚀【灰度图像非平坦结构元】

    4.腐蚀示例

    三 膨胀

    1.膨胀【二值图像】

    2.膨胀【灰度图像平坦结构元】

    3. 膨胀【灰度图像非平坦结构元】

    4.膨胀示例

    四 其他形态学操作

    1.开运算

    2.闭运算

    3.形态学平滑

    4.顶帽运算

    5.黑帽运算

    6.击中击不中

    7.形态学梯度


    一 基础知识

    1.形态学是什么?

    形态学是生物学的一个分支,主要研究动植物的形态和结构,图像处理领域用形态学数学处理工具来提取表达和描绘区域形状的有用图像分量,如边界,骨架等

    2.形态学包括什么?

    常用的有腐蚀、膨胀、开运算、闭运算、击中击不中、 梯度运算、顶帽、底帽

    3.形态学图像处理原理

    说明:

    • 首先对原图边界进行扩充,使结构元B完全包括在A中,如A最外围的一圈白色方框
    • 形态学图像处理都是集合运算,所以只需要搞懂每个操作的数学定义即可
    • 都是结构元对原图像进行的集合操作

     

    4.什么是结构元?

    研究一幅图像中感兴趣特性所用的小集合或子图像

    5.平坦/不平坦结构元

    通俗说明:

    结构元的值存在不同灰度级的为不平坦结构元(如下图中的1)

    结构元的值都一致的是平坦结构元(如下图中的2)

    二 腐蚀

    1.二值图像腐蚀

    计算过程如下

    举例如下

     

    2.腐蚀【灰度图像平坦结构元】

    计算过程如下

    3.腐蚀【灰度图像非平坦结构元】

    计算过程如下

    4.腐蚀示例

    不同结构元尺寸对应的腐蚀效果如下所示

    三 膨胀

    1.膨胀【二值图像】

    计算过程如下

    2.膨胀【灰度图像平坦结构元】

    计算过程如下

    3. 膨胀【灰度图像非平坦结构元】

    计算过程如下

    4.膨胀示例

    不同结构元尺寸对应的效果如下

    四 其他形态学操作

    1.开运算

    开运算示例

    2.闭运算

    闭运算示例

    3.形态学平滑

    4.顶帽运算

    5.黑帽运算

    6.击中击不中

    7.形态学梯度

    形态学梯度运算举例如下

     

    展开全文
  • 其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。本篇文章主要讲解Python调用OpenCV实现图像形态学转化...

    f058fd20a1fa5e06198aaae861b32d65.gif

    63100f0b6edf450c53c9ee0ef73002b1.png

    作者 | 杨秀璋责编 | 夕颜出品 | CSDN博客

    数学形态学(Mathematical morphology)是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。

    本篇文章主要讲解Python调用OpenCV实现图像形态学转化,包括图像顶帽运算和图像黑帽运算,基础性知识希望对您有所帮助。

    1.图像顶帽运算
    2.图像黑帽运算

    d6e1215d1452c12db4f49b7749df3ab4.png

    图像顶帽运算

    1.基本原理


    图像顶帽(或图像礼帽)运算是原始图像减去图像开运算的结果,得到图像的噪声。如下图所示:

    顶帽运算(img) = 原始图像(img) - 开运算(img) 048326f7616fa537a5dc1dc3c5154aed.png

    2.函数原型


    图像开运算主要使用的函数morphologyEx,它是形态学扩展的一组函数,其参数cv2.MORPH_TOPHAT对应开运算。其原型如下:

    dst = cv2.morphologyEx(src, cv2.MORPH_TOPHAT, kernel)

    参数dst表示处理的结果,src表示原图像,cv2.MORPH_TOPHAT表示顶帽运算,kernel表示卷积核。下图表示5*5的卷积核,可以采用函数 np.ones((5,5), np.uint8) 构建。

    b38b3e22b169342f7323ae10d7ca93a5.png

    卷积如下图所示:

    06e3b58998bb86dc71b69c096c8eac47.png

    3.代码实现


    完整代码如下所示:

    #encoding:utf-8import cv2import numpy as np#读取图片src = cv2.imread('test01.png', cv2.IMREAD_UNCHANGED)#设置卷积核kernel = np.ones((5,5), np.uint8)#图像顶帽运算result = cv2.morphologyEx(src, cv2.MORPH_TOPHAT, kernel)#显示图像cv2.imshow("src", src)cv2.imshow("result", result)#等待显示cv2.waitKey(0)cv2.destroyAllWindows()
    输出结果如下图所示,可以看到外部噪声被提取出来。6ad0e53a3b47c8992f1e145a2267bdd7.png如果想获取更多的细节,可以将卷积设置为10*10,如下图所示:kernel = np.ones((10,10), np.uint8)
    result = cv2.morphologyEx(src, cv2.MORPH_TOPHAT, kernel)
    113e84204c9e892ce890cdddf36007c1.png

    03225bc648275aefb753b0b296c5d4bc.png

    图像黑帽运算1.基本原理
    图像黑帽运算是图像闭运算操作减去原始图像的结果,得到图像内部的小孔,或者前景色中的小黑点。如下图所示:
    黑帽运算(img) = 闭运算图像(img) - 原始图像(img) 513023233389edd24f7d428872ff0760.png2.函数原型
    图像开运算主要使用的函数morphologyEx,它是形态学扩展的一组函数,其参数cv2.MORPH_BLACKHAT对应开运算。其原型如下:
    dst = cv2.morphologyEx(src, cv2.MORPH_BLACKHAT, kernel)参数dst表示处理的结果,src表示原图像,cv2.MORPH_BLACKHAT表示黑帽运算,kernel表示卷积核。下图表示5*5的卷积核,可以采用函数 np.ones((5,5), np.uint8) 构建。896fd5554cb0ec73b4dfa68e79a8818c.png3.代码实现
    完整代码如下所示:
    #encoding:utf-8import cv2import numpy as np#读取图片src = cv2.imread('test02.png', cv2.IMREAD_UNCHANGED)#设置卷积核kernel = np.ones((5,5), np.uint8)#图像黑帽运算result = cv2.morphologyEx(src, cv2.MORPH_BLACKHAT, kernel)#显示图像cv2.imshow("src", src)cv2.imshow("result", result)#等待显示cv2.waitKey(0)cv2.destroyAllWindows()
    输出结果如下图所示,可以看到图像内部黑点被提取出来。85c99687bce8c6980dd71d12545f6656.png但内部比较大的四个黑点没有被提取,如果想获取更多的细节,可以将卷积设置为10*10,如下图所示:
    kernel = np.ones((10,10), np.uint8)
    result = cv2.morphologyEx(src, cv2.MORPH_BLACKHAT, kernel)
    b0c53d7e7a7bcdfd18639d15ae0303cd.png原文链接:https://0x9.me/vC3mK

    d394d539b6b8f620dcee92b29b03fbcf.png

    4f711d59a5958d6716917118a6bd4629.png

    更多精彩推荐

    遭遇 XSS 跨站脚本攻击?稳住,这些方法可保你渡劫 | 附代码、图解☞融资 2000 万美元后,他竟将核心代码全开源,这……能行吗?☞赞!网红程序员 AI 修复多国古老街景视频☞赠书 | 人工智能识万物:卷积神经网络的前世今生MySQL 索引分析除了 EXPLAIN 还有什么方法?☞医疗数字化:区块链或成最强辅助点分享点点赞点在看
    展开全文
  • 形态学滤波

    千次阅读 2019-11-14 20:38:20
    什么形态学形态学指的是数学方面的形态学滤波,特别是对图像的滤波处理。它的本质和其他滤波器一样,都能够对图像进行去噪、增强等作用。它包括的运算很多,最基本的两个形态学操作是腐蚀和膨胀,其他的高级...

    什么是形态学?

    形态学指的是数学方面的形态学滤波,特别是对图像的滤波处理。它的本质和其他滤波器一样,都能够对图像进行去噪、增强等作用。它包括的运算很多,最基本的两个形态学操作是腐蚀和膨胀,其他的高级形态学操作都是基于这两个基本的形态学操作进行的,比如开运算、闭运算、形态学梯度、顶帽、黑帽等。

    主要作用?

    膨胀类似与 '领域扩张' ,将图像的高亮区域或白色部分进行扩张,其运行结果图比原图的高亮区域更大.

    腐蚀类似 '领域被蚕食' ,将图像中的高亮区域或白色部分进行缩减细化,其运行结果图比原图的高亮区域更小

    对二值化图,

       1、 消除噪声
       2、分割出独立的图像元素,在图像中连接相邻的元素
       3、寻找图像中的明显的极大值或极小值区域
       4、求出图像的梯度
     

    膨胀

    膨胀(dilate)就是求局部的最大值的操作。从数学的角度就是图像与核进行卷积
    核可以是任何形状核大小,它拥有一个单独定义出来的参考点,称为锚点,可以把核视为模板或者掩码
    数学公式

    腐蚀

    腐蚀就是求局部最小值的操作。
    数学公式:

    总结:对二值化图像:去掉像素用腐蚀,开运算;增加像素用膨胀,闭运算

              对灰度图像:灰度值降低,用腐蚀,开运算;灰度值增加用膨胀,闭运算

     

    展开全文
  • 图像处理——形态学

    2020-12-31 15:21:52
    什么形态学 形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中指的形态学,往往表示的是数学形态学。 数学形态学(Mathematical morphology) 是一门建立在...

    什么是形态学

    形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中指的形态学,往往表示的是数学形态学。

    数学形态学(Mathematical morphology) 是一门建立在格论和拓扑学基础之上的图像分析学科,是数学形态学图像处理的基本理论。

    其基本的运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换、灰值腐蚀和膨胀、灰值开闭运算、灰值形态学梯度等。

    膨胀与腐蚀

    最基本的形态学操作有二种:膨胀与腐蚀(Dilation与Erosion)。

    作用

    膨胀与腐蚀能实现多种多样的功能,主要如下:

    • 消除噪声
    • 分割(isolate)出独立的图像元素,在图像中连接(join)相邻的元素。
    • 寻找图像中的明显的极大值区域或极小值区域
    • 求出图像的梯度

    定义

    腐蚀和膨胀是对白色部分(高亮部分)而言的,不是黑色部分。膨胀就是图像中的高亮部分进行膨胀,“领域扩张”,效果图拥有比原图更大的高亮区域。腐蚀就是原图中的高亮部分被腐蚀,“领域被蚕食”,效果图拥有比原图更小的高亮区域。

    在这里插入图片描述

    膨胀(dilate)

    按数学方面来说,膨胀或者腐蚀操作就是将图像(或图像的一部分区域,我们称之为A)与核(我们称之为B)进行卷积。核可以是任何的形状和大小,它拥有一个单独定义出来的参考点,我们称其为锚点(anchorpoint)。多数情况下,核是一个小的中间带有参考点和实心正方形或者圆盘,其实,我们可以把核视为模板或者掩码。

    而膨胀就是求局部最大值的操作,核B与图形卷积,即计算核B覆盖的区域(体现局部)的像素点的最大值,并把这个最大值赋值给参考点指定的像素。这样就会使图像中的高亮区域逐渐增长。
    在这里插入图片描述
    假设A区域内为高亮白色,则右侧区域中虚线部分与左侧图形等大。通过膨胀操作,A的范围扩大。

    膨胀可以理解为B的中心(锚点)沿着A的外边界走了一圈。膨胀是对高亮部分而言,A区域之外的部分 < A的高亮像素,所里外面被里面取代。

    用(x, y)周边区域(x+x’, y+y’)内的最大值代替(x, y)的值。因而整体变亮。

    腐蚀(erode)

    在这里插入图片描述

    用(x, y)周边区域(x+x’, y+y’)内的最小值代替(x, y)的值。因而整体变暗。

    相关API

    1. 获取结构元素
    getStructuringElement(int shape, Size ksize, Point anchor)
    //- shape 形状 (MORPH_RECT 矩形 \MORPH_CROSS 变形十字 \MORPH_ELLIPSE 变形椭圆)
    //- ksize 大小,奇数
    //- anchor 锚点,默认是Point(-1, -1)意思就是中心像素
    int s = element_size * 2 + 1;
    Mat structureElement = getStructuringElement(MORPH_RECT, Size( s, s), Point(-1, -1));
    //获取结构元素,形状,大小,锚点(中心)
    
    1. 膨胀
    dilate(src, dst, kernel); //原图,目标图像,结构元素
    
    dilate(src, dst, structureElement, Point(-1, -1), 1); 
    //膨胀(最大值替换,变白亮),结构元素,锚点,迭代次数(不写也默认为1)
    
    1. 腐蚀
    erode(src, dst, kernel); //原图,目标图像,结构元素
    
    erode(src, dst, structureElement); 
    //腐蚀(最小值替换,变暗黑),锚点前面已定义这里默认了 
    

    梯度

    形态学梯度是膨胀和腐蚀的差别,结果看上去就像前景物体的轮廓。计算的梯度常见的有三种.

    作用:边缘提取,对二值图像进行这一操作,可以将团块(blob)的边缘突出出来,保留物体的边缘轮廓。

    基本梯度(gradient):

    基本梯度是用膨胀后的图像减去腐蚀后的图像得到差值图像,称为梯度图像,也是OpenCV中支持的计算形态学梯度的方法,而此方法得到的梯度又被称为基本梯度。

    内部梯度(inernal):

    是用原图像减去腐蚀后的图像得到差值图像,称为图像的内部梯度

    外部梯度(external):

    图像膨胀后的图像减去原来的图像得到的差值图像,称为图像的外部梯度。

    在这里插入图片描述

    morphologyEx(src, dst3, CV_MOP_GRADIENT, kernel); //梯度,膨胀减腐蚀,边缘提取
    

    开,闭

    在这里插入图片描述

    开(Open)::先腐蚀后膨胀

    在这里插入图片描述

    作用:可以去掉小的白噪点,填充小的白洞。能排除小区域物体、消除孤立点、去噪、平滑物体的轮廓。

    Mat kernel = getStructuringElement(MORPH_RECT, Size(5, 5), Point(-1, -1)); //结构元素
    morphologyEx(src, dst1, CV_MOP_OPEN, kernel); //开操作,先腐蚀后膨胀
    

    闭操作(close):先膨胀后腐蚀(bin2)

    在这里插入图片描述

    morphologyEx(src, dst2, CV_MOP_CLOSE, kernel); //闭操作,先膨胀后腐蚀
    

    顶帽,黑帽

    顶帽(top hat):原图像与开操作之间的差值图像

    在这里插入图片描述

    作用:显示开操作所去掉的小白噪点。往往用来分离比邻近点亮一些的斑块。当一幅图像具有大幅的背景的时候,而微小物品比较有规律的情况下,可以使用顶帽运算进行背景提取。
    在这里插入图片描述
    图中是直接二值化和先顶帽,后二值化的结果比较。

    Mat kernel = getStructuringElement(MORPH_RECT, Size(5, 5), Point(-1, -1)); //结构元素
    morphologyEx(src, dst1, CV_MOP_OPEN, kernel); //开操作,先腐蚀后膨胀
    

    黑帽(black hat):闭操作图像与源图像的差值图像

    作用:显示闭操作所填充的小黑洞。突出了与原图像轮廓周围的区域更暗的区域,且这一操作和选择的核大小相关。所以黑帽运算用来分离比邻近点暗一些的斑块。
    在这里插入图片描述

    morphologyEx(src, dst2, CV_MOP_CLOSE, kernel); //闭操作,先膨胀后腐蚀
    

    参考

    腐蚀与膨胀
    https://blog.csdn.net/qq_36387683/article/details/80489631

    展开全文
  • 其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。本篇文章主要讲解Python调用OpenCV实现图像形态学转化,包括图像...
  • 机器视觉中的灰度形态学

    千次阅读 2015-09-04 11:17:47
    形态转换提取和改变图像中斑点的结构,他们分为两...什么情况下使用灰度形态学 使用灰度形态学函数来过滤或者平滑图像的像素亮度。这些应用包括噪声滤波,不均匀背景校正,灰度特征提取。 灰度形态学的定义 灰度
  • 1、什么是图像的形态学  图像处理中的形态学,往往指的是数学形态学(区别于生物学中研究动植物的形态和结构)。  数学形态学(Mathematical morphology)是一门建立在格论和拓朴学基础上的图像分析学科,是数学...
  • 其基本的运算包括:腐蚀和膨胀、开运算和闭运算、骨架抽取、极限腐蚀、击中击不中变换、形态学梯度、Top-hat变换、颗粒分析、流域变换等。 首先呢,数学形态学并不是什么高大上的概念. 数学形态学两个最基本的操作...
  • 什么形态学操作? 一系列操作基于形状来操作图像,形态学操作通过在图像上应用结构元素来产生输出图像。 改变物体的形状,比如腐蚀就是“变瘦”,膨胀就是“变胖”,如下面这张图所示: 然后包括膨胀与腐蚀在内,...
  • 然后就是软件的使用部分,软件的位置依然是放在Release文件夹里面,而形态学处理的按钮在“右键-调整-形态学处理-形态学运算”中,单击后就会出现形态学运算的对话框。 在对话框中会看到一个9*9的结构元素方阵,可以...
  • 首先我们可以了解一下3D建模,互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的5年时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯、电子阅读、虚拟社区、网络游戏、...
  • 《六个为什么》学习心得(一) 《六个为什么》学习心得(一) --为什么必须坚持马克思主义在意识形态领域的指导 地位,而不能搞指导思想的多元化。 文中指出:“马克思主义是被100多年来的世界历史发展进程,特别...
  • 1、界面设计:物理表现层的zhi设计,每一款产dao品或者交互形式都以这种形态出现,包括图形、图标( Icon)、色彩、文字设计等,用户通过它们使用系统。 2、交互设计:UI是指信息的采集与反馈、输入与输出,
  • 织物的风格与评价一、 织物风格的概念广义:织物本身所固有的性、状作用于人的感觉器官所产生的综合效应。(触觉、视觉、听觉)广义织物风格包括触觉风格:以手...形感也可称为织物的形态风格。光泽感是指由织物光泽...
  • opencv图像腐蚀erode什么是图像腐蚀形态学运算形态学(morphology)一词通常表示生物学的一个分支,该分支主要研究动植物的形态和结构。而我们图像处理中指的形态学,往往表示的是数学形态学数学形态学(Mathematical ...
  • 一、游戏行业的大环境 互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的5年时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯、电子阅读、虚拟社区、网络游戏、电子商务...
  • “小程序直播”是微信提供给开发者的实时视频直播工具,包括直播管理端、主播端和观众端等模块,支持提供常用的用户互动和营销促销工具。 开发者只需在小程序中引入相关代码并在管理后台完成配置,即可向用户...
  • 互联网的形态一直以来都是2D模式的,但是随着3D技术的不断进步,在未来的5年时间里,将会有越来越多的互联网应用以3D的方式呈现给用户,包括网络视讯、电子阅读、虚拟社区、网络游戏、电子商务、远程教育等等。...
  • 医学细胞生物笔记1

    2019-10-03 15:01:02
    毕业前跟去山东当老师的同学讨论时,他问什么是组学?虽然搞生物信息,但是具体也没有给他解释清楚。最近医学细胞生物学书里第一章我看到有相关的描述,于是总结一下。...组学的后缀中的MIC是形态学(Morphology...
  • LAMMPS由美国Sandia国家实验室开发,以GPL许可证发布,即开放源并且可以免费获取使用,这意味着用户可以根据自己的需要自行修改源代码.LAMMPS可以支持包括气态,液态或者固态相形态下,各种系综下,百万级的原子分子...
  • 任何一个网站可以没有数据库,可以没有后端程序,但是必须得有前端页面,而这也是最早期的网站形态—一 一个只能展示文字和图片等信息的静态页面。 掌握静态网页的制作技术是学习开发网站的先决条件。这里面的学习...
  • 真实感图形是在计算机中模拟现实生活中五彩缤纷事物。我们知道在现实中如果没有任何光我们是什么也看不到的,只有当有光照射到人眼睛中,我们才能看到事物。五彩缤纷的现实世界其实是各类事物对光线进行的吸收、...
  • 什么是类: 类是具有相同属性和服务的一组对象的集合比如说人,书,轮船,车都属于类,他为属于该类的对象做了一个统一的抽象描述,在编程的语言中类是一个单独的程序,它应该有一个类名包括属性的说明和服务两个...
  • 产品是什么

    2010-02-21 19:30:00
    市场营销认为,广义的产品需要通过购买,它既包括具有物质形态的产品实体,又包括非物质形态的利益。而随着互联网的普及,很多产品即使不付费,用户也会享受到服务。所以,我对产品的理解,是这样的——产品是提供...
  • 本文由:“设计上兔课网”原创,图片素材来自网络,仅供学习分享 平面设计中负空间的意思是什么?...平面设计的元素包括空间、形态、线条、肌理、明度、色彩等,通过运用形式美法则而对元素进行表现或是
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    要想真正理解Linux系统,就必须从Linux命令起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令...
  • 无需下载、即搜即用的全功能轻应用让许多死磕传统App的开发者无所适从,却也阻止不了轻应用(包括轻游戏)在用户心底扎根生长,而作为一种新的开放生态,轻应用从产品形态上符合手机特性,具有很广阔的前景。...
  • Opencv基础入门笔记10

    2020-01-12 11:19:08
    上一节我们已经知道形态学操作包括基本的腐蚀膨胀,及开闭运算,那还有其他什么形态学操作呢 基本的运算包括:二值腐蚀和膨胀、二值开闭运算、骨架抽取、极限腐蚀、形态学梯度、顶帽黑帽变换、颗粒分析、流域变换、...
  • 如何从 HTML 5 快速转型开发快应用?

    千次阅读 2019-01-15 23:30:37
    作为移动互联网的全新应用分发形态,快应用可以提供智能化场景分发,即点即用,让用户从手机系统快速进入快应用,无需下载安装,一步直达服务。快应用拥有原生性能体验和系统级服务能力,也让快应用有比 HTML 5 更好...

空空如也

空空如也

1 2 3 4
收藏数 76
精华内容 30
关键字:

形态学包括什么