击中-击不中开—lhMorpHMTOpen

击中-击不中开(二值)

击中-击不中开—lhMorpHMTOpen - 海水和火焰 - 形态学与OpenCV击中-击不中开—lhMorpHMTOpen - 海水和火焰 - 形态学与OpenCV
灰度(非约束)
击中-击不中开—lhMorpHMTOpen - 海水和火焰 - 形态学与OpenCV
 灰度(约束)
击中-击不中开—lhMorpHMTOpen - 海水和火焰 - 形态学与OpenCV
 

所采用的9*1 自定义结构为: 

击中-击不中开—lhMorpHMTOpen - 海水和火焰 - 形态学与OpenCV

 函数:lhMorpHMTOpen

说明:形态学击中-击不中开变换

参数:

src 输入图像,灰度或二值图像

dst 输出图像

sefg 前景结构元素

sebg 背景结构元素,如为空,则默认为前景结构元素sefg的取反

type 击中-击不中开变换中击中-击不中变换的类型,二值 0 非约束 1 约束 2

定义如下:

#define LH_MORP_TYPE_BINARY                   0

#define LH_MORP_TYPE_UNCONSTRAIN       1

#define LH_MORP_TYPE_CONSTRAIN           2

源码:

void lhMorpHMTOpen(const IplImage* src, IplImage* dst, IplConvKernel* sefg, IplConvKernel* sebg =NULL, int type=LH_MORP_TYPE_BINARY)

{

       assert(src != NULL && dst != NULL && src != dst && sefg!= NULL && sefg!=sebg);

       IplConvKernel* semap = lhStructuringElementMap(sefg);

       IplImage*  temp = cvCreateImage(cvGetSize(src), 8, 1);

       lhMorpHMT(src, temp, sefg, sebg, type);

       cvDilate(temp, dst, semap);

       cvReleaseImage(&temp);

       cvReleaseStructuringElement(&semap);

}

posted on 2011-12-22 19:25  carekee  阅读(334)  评论(0编辑  收藏  举报