/*一、形态学梯度
(1)含义:是膨胀图和腐蚀图之差
(2)数学表达式:dst=morph-grad(src,element)
=dilate(src,element) - erode(src,element)
(3)AP接口函数morphologyEx(),表示符为MORPH_GRADIENT
(4)作用:保留物体的边缘轮廓
*/
/*******相关程序*******/
#include <QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>
using namespace std;
using namespace cv; int main()
{
Mat srcImage = imread("/home/ttwang/12.tif");//读入原图
namedWindow("形态学梯度操作[原图]");
imshow("形态学梯度操作[原图]",srcImage); //获取自定义核
Mat element = getStructuringElement(MORPH_RECT,Size(,));
Mat dstImage; //进行形态学梯度操作
morphologyEx(srcImage,dstImage,MORPH_GRADIENT,element);
namedWindow("形态学梯度操作[效果图]");
imshow("形态学梯度操作[效果图]",dstImage); waitKey();
return ;
}

形态学梯度操作[原图]

形态学梯度操作[效果图]
/*二、顶帽
含义:顶帽运算(Top Hat),是原图像与“开运算”的结果图之差
数学表达式:dst = tophat(src,element)=src-open(src,element)
作用:顶帽运算往往用来分离比邻近点亮一些的斑块,在一幅图像具有大幅背景,而微小物品
比较有规律的情况下,可以使用顶帽运算进行背景提取。
核心API函数:morphologyEx(); (其中标识符为MORPH_TORHAT)
[相关例程以后,用到再学习]
*/ /*三、黑帽
含义:黑帽运算是闭运算的结果图与原图之差
数学表达式:dst=blackhat(src,element)=close(src,elemet)-src
作用:黑帽运算用来分离比近邻点暗一些的斑块,效果图有着完美的轮廓。
核心API函数:morphologyEx(); (其中标识符为MORPH_BLACKHAT)
[相关例程以后,用到再学习]

opencv3.2.0形态学滤波之形态学梯度、顶帽、黑帽的更多相关文章

  1. opencv 4 图像处理(2 形态学滤波:腐蚀与膨胀,开运算、闭运算、形态学梯度、顶帽、黑帽)

    腐蚀与膨胀 膨胀(求局部最大值)(dilate函数) #include <opencv2/core/core.hpp> #include <opencv2/highgui/highg ...

  2. 【OpenCV新手教程之十一】 形态学图像处理(二):开运算、闭运算、形态学梯度、顶帽、黑帽合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/23184547 作者:毛星云(浅墨) ...

  3. opencv3.2.0形态学滤波之膨胀

    //名称:膨胀 //日期:12月21日 //平台:QT5.7.1+opencv3.2.0 /* 膨胀(dilate)的含义: 膨胀就是求局部最大值的操作,就是将图像(或图像的一部分,A)与核 B 进行 ...

  4. opencv学习之路(15)、形态学其他操作(开、闭、顶帽、黑帽、形态学梯度)

    一.形态学其他操作(用的不多,如果忘了也可以通过膨胀腐蚀得到相同效果) 1.开运算 2.闭运算 3.形态学梯度 4.顶帽 5.黑帽 #include "opencv2/opencv.hpp& ...

  5. OpenCV3入门(七)图像形态学

    1.膨胀 所谓的图片的膨胀处理,其实就是在图像的边缘添加像素值,使得整体的像素值扩张,进而达到图像的膨胀效果. 对Z2上元素集合A和结构体元素S,使用S对A进行腐蚀,记作: A⊕S={z|(S)z ∩ ...

  6. opencv —— morphologyEx 开运算、闭运算、形态学梯度、顶帽、黑帽

    开运算:先腐蚀后膨胀. 能够排除小亮点. 闭运算:先膨胀后腐蚀. 能够排除小黑点. 形态学梯度:膨胀图 — 腐蚀图. 对二值图像进行这一操作,可将图块的边缘突出出来,故可用来保留物体边缘轮廓. 顶帽: ...

  7. [PCL]点云渐进形态学滤波

    PCL支持点云的形态学滤波,四种操作:侵蚀.膨胀.开(先侵蚀后膨胀).闭(先膨胀后侵蚀) 在#include <pcl/filters/morphological_filter.h>中定义 ...

  8. python数字图像处理(13):基本形态学滤波

    对图像进行形态学变换.变换对象一般为灰度图或二值图,功能函数放在morphology子模块内. 1.膨胀(dilation) 原理:一般对二值图像进行操作.找到像素值为1的点,将它的邻近像素点都设置成 ...

  9. opencv-图像形态学之开运算、闭运算、形态学梯度、顶帽、黑帽合辑

    转自:https://blog.csdn.net/poem_qianmo/article/details/24599073 1.1 开运算(Opening Operation) 开运算(Opening ...

随机推荐

  1. mac安装brew 软件包管理工具Homebrew

    brew 全称Homebrew  是Mac OSX上的软件包管理工具 Homebrew 安装和卸载工具 只用一行命令就能完成 官方地址:    http://brew.sh/index.html   ...

  2. layer弹出层设置相对父级元素定位

    layer弹出层默认是相对body固定定位的,可是项目中一般需要相对某个盒子相对定位,下面是个加载弹层例子: var loadIndex = layer.open({ type: 3, //3 表示加 ...

  3. WebDriverAPI(3)

    获取页面的Title属性 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com& ...

  4. TestNG参数

    dependsOnMethods可以使测试用例按某个特定的顺序执行 实例: @Test(dependsOnMethods=“s”) public  void  a() System.out.print ...

  5. centos shell 编程-通过端口号kill对应的进程

    centos shell 编程-通过端口号kill对应的进程 方式一.端口固定 ------------------killportprocess.sh fSum() {    pid=$(lsof ...

  6. tensorflow语法笔记

    1.如何理解 tf.reduce_max或者 tf.reduce_mean中对Tensor和高维矩阵的坐标轴axis的选择的操作 tf.reduce_mean( input_tensor, axis= ...

  7. 手机浏览器_安卓_苹果手机Webview 中唤醒APP

    Url scheme是iOS,Android平台都支持,只需要原生APP开发时注册scheme, 那么用户点击到此类链接时,会自动跳到APP.比如 <!-- 打开考拉APP首页 --> & ...

  8. 如何获取div距离浏览器顶部的高度,宽度,内容

    JS就可以获取了, document.getElementById("DIV的ID或者其它选择").offsetTop;这是离顶部 JQ可以这样: $("#aaa&quo ...

  9. springboots 配置文件

    1.build.gradle buildscript { // 声明变量 ext { springBootVersion = '1.5.2.RELEASE' } // 仓库 repositories ...

  10. c#基础学习(0806)之抽象类实现多态

    首先,要判断是否使用抽象类,可以从下面两个方面进行判断: 1.是不是需要被实例化 2.父类中有没有默认的实现 如果不需要被实例化,父类中没有默认的实现,则用抽象类(否则用虚方法来实现) 下面举个简单的 ...