击中-击不中变换(二值)—lhMorpHMTB
击中-击不中变换 (二值)
所采用的9*1 自定义结构为:
函数:lhMorpHMTB
说明:形态学二值击中-击不中变换
参数:
src 输入图像,二值图像
dst 输出图像
sefg 前景结构元素
sebg 背景结构元素,如为空,则默认为前景结构元素sefg的取反
源码:
void lhMorpHMTB(const IplImage* src, IplImage* dst, IplConvKernel* sefg, IplConvKernel* sebg =NULL)
{
assert(src != NULL && dst != NULL && src != dst && sefg!= NULL && sefg!=sebg);
if (sebg == NULL)
sebg = lhStructuringElementNot(sefg);
IplImage* temp1 = cvCreateImage(cvGetSize(src), 8, 1);
IplImage* temp2 = cvCreateImage(cvGetSize(src), 8, 1);
cvErode( src, temp1, sefg);
cvNot(src, temp2);
cvErode( temp2, temp2, sebg);
cvAnd(temp1, temp2, dst);
cvReleaseImage(&temp1);
cvReleaseImage(&temp2);
cvReleaseStructuringElement(&sebg);
}