2011年12月21日
摘要: 击中-击不中变换(约束) 所采用的9*1 自定义结构为:函数:lhMorpHMTC说明:形态学约束击中-击不中变换,当为二值图像时,结果与lhMorpHMTB相同。参数:src 输入图像,灰度或二值图像dst 输出图像sefg 前景结构元素sebg 背景结构元素,如为空,则默认为前景结构元素sefg的取反源码:void lhMorpHMTC(const IplImage* src, IplImage* dst, IplConvKernel* sefg, IplConvKernel* sebg =NULL){ assert(src != NULL && dst != NULL & 阅读全文
posted @ 2011-12-21 22:14 carekee 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: 函数:lhMorpHMT说明:形态学击中-击不中变换参数: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 lhMorpHMT(const IplImage* src, IplImage* dst, IplConvKernel* se 阅读全文
posted @ 2011-12-21 22:14 carekee 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 击中-击不中变换(二值) 所采用的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 &&a 阅读全文
posted @ 2011-12-21 22:13 carekee 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 击中-击不中变换(非约束) 所采用的9*1 自定义结构为:函数:lhMorpHMTU说明:形态学非约束击中-击不中变换,当为二值图像时,结果与lhMorpHMTB相同。参数:src 输入图像,灰度或二值图像dst 输出图像sefg 前景结构元素sebg 背景结构元素,如为空,则默认为前景结构元素sefg的取反源码:void lhMorpHMTU(const IplImage* src, IplImage* dst, IplConvKernel* sefg, IplConvKernel* sebg =NULL){ assert(src != NULL && dst != NULL 阅读全文
posted @ 2011-12-21 22:13 carekee 阅读(5402) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-12-21 22:12 carekee 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 对比度增强 9*9正方形结构元素 函数:lhMorpEnhance说明:形态学对比度增强运算参数:src 输入图像dst 输出图像element结构元素iterations膨胀和腐蚀次数源码:void lhMorpEnhance(const IplImage* src, IplImage* dst, IplConvKernel* se=NULL, int iterations=1){ assert(src != NULL && dst != NULL && src != dst); IplImage* temp = cvCloneImage(src); lhMo 阅读全文
posted @ 2011-12-21 22:11 carekee 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-12-21 22:11 carekee 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 如果图像目标均具有相同的局部对比度,即如果它们比图像背景全部暗或亮,顶帽变换可以用于亮度梯度(不均匀光照)的调整。这时,大尺度各向同性结构元素的顶帽可以作为高通滤波器使用。由于亮度梯度位于图像低频部分,因此将被顶帽滤除。白帽用于暗图像背景,黑帽用于亮图像背景。在图像背景较暗的情况下,如果目标与图像背景之间的对比度较小,也可以利用闭或开除以输入图像获得更好的视觉效果。 阅读全文
posted @ 2011-12-21 22:10 carekee 阅读(925) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-12-21 22:10 carekee 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 白顶帽 9*9正方形结构元素 函数:lhMorpWhiteTopHat说明:形态学白顶帽运算参数:src 输入图像dst 输出图像element结构元素iterations膨胀和腐蚀次数源码:void lhMorpWhiteTopHat(const IplImage* src, IplImage* dst, IplConvKernel* se=NULL, int iterations=1){ assert(src != NULL && dst != NULL && src != dst); lhMorpOpen(src, dst, se, iterations 阅读全文
posted @ 2011-12-21 22:09 carekee 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 黑顶帽 9*9正方形结构元素 函数:lhMorpBlackTopHat说明:形态学黑顶帽运算参数:src 输入图像dst 输出图像element结构元素iterations膨胀和腐蚀次数源码:void lhMorpBlackTopHat(const IplImage* src, IplImage* dst, IplConvKernel* se=NULL, int iterations=1){ assert(src != NULL && dst != NULL && src != dst); lhMorpClose(src, dst, se, iterations 阅读全文
posted @ 2011-12-21 22:09 carekee 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 自补顶帽 9*9正方形结构元素 函数:lhMorpQTopHat说明:形态学自补顶帽运算参数:src 输入图像dst 输出图像element结构元素iterations膨胀和腐蚀次数源码:void lhMorpQTopHat(const IplImage* src, IplImage* dst, IplConvKernel* se=NULL, int iterations=1){assert(src != NULL && dst != NULL && src != dst);IplImage* temp = cvCloneImage(src); lhMorpCl 阅读全文
posted @ 2011-12-21 22:09 carekee 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-12-21 22:08 carekee 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 外梯度 7*7正方形结构元素 函数:lhMorpGradientOut说明:形态学外梯度运算参数:src 输入图像dst 输出图像element结构元素iterations膨胀和腐蚀次数源码:void lhMorpGradientOut(const IplImage* src, IplImage* dst, IplConvKernel* element=NULL, int iterations=1){ assert(src != NULL && dst != NULL && src != dst); cvDilate( src, dst, element, it 阅读全文
posted @ 2011-12-21 22:08 carekee 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 标准梯度 5*5正方形结构元素 标准梯度 7*7正方形结构元素函数:lhMorpGradient说明:形态学基本梯度运算,通过结构元素的改变,可以进行厚梯度,方向梯度等形态学计算参数:src 输入图像dst 输出图像element结构元素iterations膨胀和腐蚀次数源码:void lhMorpGradient(const IplImage* src, IplImage* dst, IplConvKernel* element=NULL, int iterations=1){ assert(src != NULL && dst != NULL && src 阅读全文
posted @ 2011-12-21 22:07 carekee 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 内梯度 7*7正方形结构元素 函数:lhMorpGradientIn说明:形态学内梯度运算参数:src 输入图像dst 输出图像element结构元素iterations膨胀和腐蚀次数源码:void lhMorpGradientIn(const IplImage* src, IplImage* dst, IplConvKernel* element=NULL, int iterations=1){ assert(src != NULL && dst != NULL && src != dst); cvErode( src, dst, element, itera 阅读全文
posted @ 2011-12-21 22:07 carekee 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2011-12-21 22:06 carekee 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 二值图像的闭(7*7) 灰度图像的闭(9*9)函数:lhMorpClose说明:形态学闭运算参数:src 输入图像dst 输出图像se 结构元素指针iterations 闭运算中膨胀和腐蚀次数源码:void lhMorpClose(const IplImage* src, IplImage* dst, IplConvKernel* se=NULL, int iterations=1){ cvDilate( src, dst, se, iterations ); //注:采用结构元素的映射进行腐蚀 IplConvKernel* semap = lhStructuringElementMap(s. 阅读全文
posted @ 2011-12-21 22:06 carekee 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 二值图像的开(7*7) 灰度图像的开(9*9 椭圆结构)函数:lhMorpOpen说明:形态学开运算参数:src 输入图像dst 输出图像se 结构元素指针iterations 开运算中膨胀和腐蚀次数源码:void lhMorpOpen(const IplImage* src, IplImage* dst, IplConvKernel* se=NULL, int iterations=1){ cvErode( src, dst, se, iterations ); //注:采用结构元素的映射进行膨胀!!! IplConvKernel* semap = lhStructuringElement. 阅读全文
posted @ 2011-12-21 22:05 carekee 阅读(762) 评论(0) 推荐(0) 编辑
摘要: 在OpenCV中某些高级形态学变换用cvMorphologyEx函数完成,包括开运算,闭运算,标准形态梯度,白顶帽,黑顶帽运算。但是本博主不推荐使用该函数。 通过查看cvMorphologyEx的源代码,可以发现,在执行开、闭等运算,在进行第二步形态学腐蚀和膨胀时,该函数仍然采用与第一步相同的结构元素进行。这种方法在针对一般对称的结构元素情况是正确的,但是当结构元素为自定义的非对称结构元素时,结果图像会发生错误的偏移。正确的方法是,如前面在开、闭运算的介绍中,执行第二步腐蚀、膨胀操作时,应采用结构元素的映射(反射)进行。因此,在本文中不提倡使用cvMorphologyEx函数。本文将通过一系. 阅读全文
posted @ 2011-12-21 22:04 carekee 阅读(611) 评论(0) 推荐(0) 编辑