《开操作》
先腐蚀后膨胀可以去掉小的对象,例如黑色背景中,有一个白色的大矩形,还有一些小的白色的区域,经过开操作哪些小的白色区域将会变为背景色。
《闭操作》
先膨胀后腐蚀可以填充很小的洞,例如原来的图像背景色为黑色,有一个白色矩形中有一个黑色的小洞,则经过比操作中间那个黑色的小洞将会被填充。
相关API
morphologyEx(src,dest,CV_MOP_BLACKHAT,kernel);
-Mat src-输入图像
-Mat dest-输出图像
-int OPT——CV_MOP_OPEN(开操作) / CV_MOP_CLOSE(闭操作) / CV_MOP_GRADIENT (梯度操作,膨胀减去腐蚀) / CV_MOP_TOPHAT (顶帽,原图-开操作) / CV_MOP_BLACKHAT(黑帽,原图-闭操作)形态学操作类型
kernel形如getStructuringElement(MORPH_RECT, Size(15, 15));
//形态学操作
#include<iostream>
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main(int argc, char** argv) {
const char* file = "./test.jpg";
Mat img = imread(file);
cvtColor(img, img, CV_BGR2GRAY);
threshold(img, img, 60, 255, THRESH_BINARY);
morphologyEx(img, img, CV_MOP_OPEN, getStructuringElement(MORPH_RECT, Size(15, 15)));
//二值降噪比较好用-小白一个纯属瞎编
namedWindow("img", WINDOW_NORMAL);
imshow("img", img);
waitKey(0);
return 0;
}