【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度( 六 )


运行效果图:

【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

文章插图
3.7 腐蚀(调用版)示例程序
中调用函数进行腐蚀操作的示例程序如下:
//-----------------------------------【头文件包含部分】---------------------------------------//描述:包含程序所依赖的头文件//----------------------------------------------------------------------------------------------#include #include #include //-----------------------------------【命名空间声明部分】---------------------------------------//描述:包含程序所使用的命名空间//-----------------------------------------------------------------------------------------------using namespace cv;//-----------------------------------【main( )函数】--------------------------------------------//描述:控制台应用程序的入口函数 , 我们的程序从这里开始//-----------------------------------------------------------------------------------------------int main( ){//载入原始图Mat image = imread("1.jpg");//工程目录下应该有一张名为1.jpg的素材图//创建窗口namedWindow("【原始图】腐蚀");namedWindow("【效果图】腐蚀");//显示原始图imshow("【原始图】腐蚀", image);//定义核Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));//进行形态学操作morphologyEx(image,image, MORPH_ERODE, element);//显示效果图imshow("【效果图】腐蚀", image);waitKey(0);return 0; }
运行效果图:
【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

文章插图
3.8 膨胀(调用版)示例程序
中调用函数进行膨胀操作的示例程序如下:
//-----------------------------------【头文件包含部分】---------------------------------------//描述:包含程序所依赖的头文件//----------------------------------------------------------------------------------------------#include #include#include //-----------------------------------【命名空间声明部分】---------------------------------------//描述:包含程序所使用的命名空间//-----------------------------------------------------------------------------------------------using namespace cv;//-----------------------------------【main( )函数】--------------------------------------------//描述:控制台应用程序的入口函数 , 我们的程序从这里开始//-----------------------------------------------------------------------------------------------int main( ){//载入原始图Mat image = imread("1.jpg");//工程目录下应该有一张名为1.jpg的素材图//创建窗口namedWindow("【原始图】膨胀");namedWindow("【效果图】膨胀");//显示原始图imshow("【原始图】膨胀", image);//定义核Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));//进行形态学操作morphologyEx(image,image, MORPH_DILATE, element);//显示效果图imshow("【效果图】膨胀", image);waitKey(0);return 0; }
运行效果图:
【OpenCV入门教程之十一】 形态学图像处理 二开运算 闭运算 形态学梯度

文章插图
四、综合示例——在实战中熟稔
依然是每篇文章都会配给大家的一个详细注释的博文配套示例程序 , 把这篇文章中介绍的知识点以代码为载体 , 展现给大家 。
这个示例程序中 , 一共有四个显示图像的窗口 。
原始图一个 , 开/闭运算为一个 , 腐蚀/膨胀为一个 , 顶帽/黑帽运算为一个 。
分别使用滚动条 , 来控制得到的形态学效果 。且迭代值为10的时候 , 为中间 。