博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

OpenCV (九)形态学操作:开操作,闭操作,形态学梯度,顶帽,黑帽

开操作:

先腐蚀(erode)后膨胀(dilate)

 

闭操作:

先膨胀(dilate)后腐蚀(erode)

 

 

形态学梯度:

膨胀(dilate) 减去 腐蚀(erode)

 

 

顶帽:

原图像 减去 开操作

 

 

黑帽:

闭操作 减去 原图像

 

#include<opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

Mat src, dst;
int main(int argc, char** argv) {
	src = imread("D:/OpenCVprj/image/test3.jpg");
	imshow("src", src);
	Mat kernel = getStructuringElement(MORPH_RECT, Size(7, 7), Point(-1, -1));
	//morphologyEx(src, dst, CV_MOP_CLOSE, kernel);
	//morphologyEx(src, dst, CV_MOP_OPEN, kernel);
	morphologyEx(src, dst, CV_MOP_GRADIENT, kernel);
	//morphologyEx(src, dst, CV_MOP_TOPHAT, kernel);
	//morphologyEx(src, dst, CV_MOP_BLACKHAT, kernel);
	imshow("dst", dst);
	waitKey(0);
	return 0;
}

  

 

posted @ 2019-07-23 20:56  haibochina  阅读(2083)  评论(0)    收藏  举报