/*一、形态学梯度
(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)
[相关例程以后,用到再学习]