形态学函数cvMorphologyEx

OpenCV提供了通用的形态学函数cvMorphologyEx,该函数能够实现开运算,闭运算,形态梯度,礼帽操作,黑帽操作

接口形式

编辑
void cvMorphologyEx(const CvArr* src, CvArr* dst, CvArr* tmp, IplConvKernel* element, int operation, int iterations = 1);[1] 

参数说明:

编辑
src:输入图像
dst:输出图像
tmp:临时图像,某些操作会用到。需要使用tmp时,它应与原图像有同样的大小
element:结构元素
operation:形态操作的类型,有以下几种可用的类型:
-CV_MOP_OPEN开运算不需要临时图像
-CV_MOP_CLOSE闭运算不需要临时图像
-CV_MOP_GRADIENT形态梯度需要临时图像
-CV_MOP_TOPHAT“礼帽”src = dst情况下需要
-CV_MOP_BLACKHAT”黑帽“src = dst情况下需要[1] 
 
 
  1.  //开运算    
  2.     cvMorphologyEx(    
  3.         src,    
  4.         img,    
  5.         temp,    
  6.         NULL, //default 3*3    
  7.         CV_MOP_OPEN,    
  8.         4);    
  9.     cvShowImage("open", img);    
  10.     //闭运算    
  11.     cvMorphologyEx(    
  12.         src,    
  13.         img,    
  14.         temp,    
  15.         NULL, //default 3*3    
  16.         CV_MOP_CLOSE,    
  17.         4);    
  18.     cvShowImage("close", img);    
  19.     //形态梯度    
  20.     cvMorphologyEx(    
  21.         src,    
  22.         img,    
  23.         temp,    
  24.         NULL, //default 3*3    
  25.         CV_MOP_GRADIENT,    
  26.         3);    
  27.     cvShowImage("gradient", img);    
  28.     //cvWaitKey(0);    
  29.   
  30.     //"礼帽"    
  31.     cvMorphologyEx(    
  32.         src,    
  33.         img,    
  34.         temp,    
  35.         NULL, //default 3*3    
  36.         CV_MOP_TOPHAT,    
  37.         3);    
  38.     cvShowImage("topHat", img);    
  39.     //cvWaitKey(0);    
  40.     //“黑帽”    
  41.     cvMorphologyEx(    
  42.         src,    
  43.         img,    
  44.         temp,    
  45.         NULL, //default 3*3    
  46.         CV_MOP_BLACKHAT,    
  47.         3);    
原文地址:https://www.cnblogs.com/Peit/p/6501875.html