摘要:
阅读全文
摘要:
原始二值图像 开重建和白顶帽重建(3*3RECT)函数:lhMorpROpen说明:形态学开重建参数:src 输入图像dst 输出图像se 结构元素iterations产生标记图像所用的腐蚀的次数源码:void lhMorpROpen(const IplImage* src, IplImage* dst, IplConvKernel* se = NULL, int iterations=1){assert(src != NULL && dst != NULL && src != dst );IplImage* temp = cvCreateImage(cvGet 阅读全文
摘要:
阅读全文
摘要:
原始二值图像 中值滤波和腐蚀效果:(9*9 RECT)函数:lhMorpRankFilterB说明:二值图像的形态学等级滤波,值得注意的是:腐蚀、膨胀、中值滤波是特殊的等级滤波参数:src 输入图像dst 输出图像se 结构元素(默认为3*3矩形)rank 等级(默认为0时,rank取SE基数的中值,此时相当于中值滤波)void lhMorpRankFilterB(const IplImage* src, IplImage* dst, IplConvKernel* se = NULL, unsigned int rank = 0){ assert(src != NULL && 阅读全文
摘要:
在这几年研究和应用形态学方法的过程中,发现OpenCV中的与形态学相关的内容远远不能满足图像分析应用中的需求,而且在使用cvMorphologyEx的过程中发现了一些问题,所以萌生了建立一个形态学算法库的想法。 经过了一段时间的准备,这个形态学分析的算法库已经有了一定的规模。在这里把这个库的源代码公布出来,希望得到广大爱好者的意见和建议。同时提供了测试用的一个简单的程序,希望对初学者学习OpenCV有所帮助。源代码和测试程序下载: 源代码 测试程序版本0.2函数列表:结构元素的扩展操作lhStructuringElementCopy 结构元素的拷贝lhStructuringElementNot 阅读全文
摘要:
扩展极小值(5*5正方形 h=100 显示结果二值化) 函数:lhMorpEMin说明:形态学扩展极小值参数:src 输入图像dst 输出图像h 深度或动态范围阈值se 结构元素源码:void lhMorpEMin(const IplImage* src, IplImage* dst, unsigned char h, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cvGetSize(src) 阅读全文
摘要:
扩展极大值 (5*5正方形 h=100 显示结果二值化) 函数:lhMorpEMax说明:形态学扩展极大值参数:src 输入图像dst 输出图像h 深度或动态范围阈值se 结构元素源码:void lhMorpEMax(const IplImage* src, IplImage* dst, unsigned char h, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cvGetSize(src 阅读全文
摘要:
H凹变换(5*5正方形 h=100 显示结果二值化) 函数:lhMorpHConcave说明:形态学H凹变换参数:src 输入图像dst 输出图像h 深度或动态范围阈值se 结构元素源码:void lhMorpHConcave(const IplImage* src, IplImage* dst, unsigned char h, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); lhMorpHMin(src, dst, h, se); cvSub(dst, 阅读全文
摘要:
H凸变换(5*5正方形 h=100 显示结果二值化) 函数:lhMorpHConvex说明:形态学H凸变换参数:src 输入图像dst 输出图像h 深度或动态范围阈值se 结构元素源码:void lhMorpHConvex(const IplImage* src, IplImage* dst, unsigned char h, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); lhMorpHMax(src, dst, h, se); cvSub(src, d 阅读全文
摘要:
阅读全文
摘要:
H极大值(h=100 5*5结构元素) 函数:lhMorpHMax说明:形态学H极大值参数:src 输入图像dst 输出图像h 深度或动态范围阈值se 结构元素源码:void lhMorpHMax(const IplImage* src, IplImage* dst, unsigned char h, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cvGetSize(src), 8, 1); 阅读全文
摘要:
H极小值 (h=100) 函数:lhMorpHMin说明:形态学H极小值参数:src 输入图像dst 输出图像h 深度或动态范围阈值se 结构元素源码:void lhMorpHMin(const IplImage* src, IplImage* dst, unsigned char h, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cvGetSize(src), 8, 1); cvAddS( 阅读全文
摘要:
区域极小值 (5*5正方形,为了方便显示结果,处理结果二值化) 函数:lhMorpRMin说明:形态学区域极小值参数:src 输入图像dst 输出图像se 结构元素源码:void lhMorpRMin(const IplImage* src, IplImage* dst, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cvGetSize(src), 8, 1); cvAddS(src, cvS 阅读全文
摘要:
区域极大值 (5*5正方形,为了方便显示结果,处理结果二值化) 函数:lhMorpRMax说明:形态学区域极大值参数:src 输入图像dst 输出图像se 结构元素源码:void lhMorpRMax(const IplImage* src, IplImage* dst, IplConvKernel* se = NULL){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cvGetSize(src), 8, 1); cvSubS(src, cvS 阅读全文
摘要:
函数:lhMorpRSelfDual说明:形态学测地自对偶和自对偶重建运算参数:src 输入图像msk 掩模图像dst 输出图像se 结构元素iterations测地自对偶运算的次数,当默认为-1时,为自对偶重建运算源码:void lhMorpRSelfDual(const IplImage* src, const IplImage* msk, IplImage* dst, IplConvKernel* se = NULL, int iterations=-1){ assert(src != NULL && msk != NULL && dst != NULL 阅读全文
摘要:
阅读全文
摘要:
函数:lhMorpRDilate说明:形态学测地膨胀和膨胀重建运算参数:src 输入图像msk 掩模图像dst 输出图像se 结构元素iterations测地膨胀的次数,当默认为-1时,为重建运算源码:void lhMorpRDilate(const IplImage* src, const IplImage* msk, IplImage* dst, IplConvKernel* se = NULL, int iterations=-1){ assert(src != NULL && msk != NULL && dst != NULL && s 阅读全文
摘要:
函数:lhMorpRErode说明:形态学测地腐蚀和腐蚀重建运算参数:src 输入图像msk 掩模图像dst 输出图像se 结构元素iterations测地腐蚀的次数,当默认为-1时,为腐蚀重建运算源码:void lhMorpRErode(const IplImage* src, const IplImage* msk, IplImage* dst, IplConvKernel* se = NULL, int iterations=-1){ assert(src != NULL && msk != NULL && dst != NULL && s 阅读全文
摘要:
函数:lhMorpThickMiss说明:形态学粗化不匹配运算参数: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 lhMorpThickMiss(const IplImage* src, IplImage* dst, IplC 阅读全文
摘要:
阅读全文