天天看点

opencv学习笔记九:形态学操作

腐蚀:拿一个结构元素去滑动窗口,将窗口覆盖下图像的最小值当作结构元素中心点的像素值;

膨胀:拿一个结构元素去滑动窗口,将窗口覆盖下图像的最大值当作结构元素中心点的像素值;

提取内边缘:原图-腐蚀后的图;

提取外边缘:膨胀后的图-原图;

开操作:先腐蚀后膨胀;

闭操作:先膨胀后腐蚀;

顶帽变换:原图 - 开操作后的图;

黑帽变换:闭操作后的图-原图。

主函数:

#include<opencv2/opencv.hpp>
using namespace cv;
void CallBack(int, void*);
int element_size = 3;
Mat src, dst;
int main(int arc, char** argv)
{   	
	src = imread("1.jpg");
	namedWindow("input", CV_WINDOW_AUTOSIZE);
	imshow("input", src);

	namedWindow("output", CV_WINDOW_AUTOSIZE);
	createTrackbar("Element Size", "output",&element_size,21,CallBack);//创建轨迹条
	CallBack(0, 0);	//调用回调函数
	waitKey(0);
	return 0;
}
           

定义结构元素:getStructuringElement(shape, Size ksize, Point(-1, -1));

参数解