摘要:
击中-击不中变换(约束) 所采用的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
阅读(1410)
评论(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
阅读(456)
评论(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
阅读(347)
评论(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
阅读(5415)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:12
carekee
阅读(340)
评论(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
阅读(398)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:11
carekee
阅读(191)
评论(0)
推荐(0)
摘要:
如果图像目标均具有相同的局部对比度,即如果它们比图像背景全部暗或亮,顶帽变换可以用于亮度梯度(不均匀光照)的调整。这时,大尺度各向同性结构元素的顶帽可以作为高通滤波器使用。由于亮度梯度位于图像低频部分,因此将被顶帽滤除。白帽用于暗图像背景,黑帽用于亮图像背景。在图像背景较暗的情况下,如果目标与图像背景之间的对比度较小,也可以利用闭或开除以输入图像获得更好的视觉效果。 阅读全文
posted @ 2011-12-21 22:10
carekee
阅读(955)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:10
carekee
阅读(150)
评论(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
阅读(503)
评论(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
阅读(274)
评论(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
阅读(224)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:08
carekee
阅读(202)
评论(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
阅读(192)
评论(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
阅读(284)
评论(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
阅读(216)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:06
carekee
阅读(263)
评论(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
阅读(435)
评论(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
阅读(778)
评论(0)
推荐(0)
摘要:
在OpenCV中某些高级形态学变换用cvMorphologyEx函数完成,包括开运算,闭运算,标准形态梯度,白顶帽,黑顶帽运算。但是本博主不推荐使用该函数。 通过查看cvMorphologyEx的源代码,可以发现,在执行开、闭等运算,在进行第二步形态学腐蚀和膨胀时,该函数仍然采用与第一步相同的结构元素进行。这种方法在针对一般对称的结构元素情况是正确的,但是当结构元素为自定义的非对称结构元素时,结果图像会发生错误的偏移。正确的方法是,如前面在开、闭运算的介绍中,执行第二步腐蚀、膨胀操作时,应采用结构元素的映射(反射)进行。因此,在本文中不提倡使用cvMorphologyEx函数。本文将通过一系. 阅读全文
posted @ 2011-12-21 22:04
carekee
阅读(619)
评论(0)
推荐(0)
摘要:
在介绍新的扩展形态学变换函数之前,介绍一组结构元素的扩展操作,包括结构元素的拷贝、取反和取映射操作。这些操作将在后面的形态学变换中经常出现。函数:lhStructuringElementCopy功能:获得形态学结构元素的拷贝参数:se 输入结构元素返回:se的拷贝,注意:在不使用时需要用cvReleaseStructuringElement释放源码:IplConvKernel* lhStructuringElementCopy(IplConvKernel* se){ IplConvKernel* copy = cvCreateStructuringElementEx( se->nCols 阅读全文
posted @ 2011-12-21 22:04
carekee
阅读(384)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:03
carekee
阅读(285)
评论(0)
推荐(0)
摘要:
在OpenCV中,定义了一个结构用于描述形态学中的结构元素。该结构定义如下:typedef struct _IplConvKernel{ int nCols; int nRows; int anchorX; int anchorY; int *values; int nShiftR;}IplConvKernel;在这里,对其中的变量定义做一简单的描述:nCols,nRows:结构元素的行宽与列高;anchorX,anchorY:结构元素原点(锚点)的位置坐标,水平,垂直;nShiftR:用于表示结构元素的形状类型,有如下几个值:#define CV_SHAPE_RECT 0#define CV 阅读全文
posted @ 2011-12-21 22:02
carekee
阅读(1732)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:02
carekee
阅读(154)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:02
carekee
阅读(166)
评论(0)
推荐(0)
摘要:
二值图像的膨胀 膨胀前 膨胀后(5*5结构元素)灰度图像的膨胀(7*7) cvDilate为Intel OpenCV中提供的函数,定义如下。函数名:cvDilatevoid cvDilate( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );src 输入图像. dst 输出图像. element 结构元素。若为 NULL, 则使用默认的3×3 长方形,锚点在中间的结构元素,进行膨胀运算iterations 膨胀的次数 函数 cvDilate 对输入图像使用指定的结构元进行膨胀, 阅读全文
posted @ 2011-12-21 22:01
carekee
阅读(1707)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:01
carekee
阅读(261)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 22:00
carekee
阅读(124)
评论(0)
推荐(0)
摘要:
二值图像腐蚀 腐蚀前(5*5正方形结构元素) 腐蚀后 灰度图像腐蚀灰度图像腐蚀后前(左)后(右) (5*5正方形结构元素)cvErode为Intel OpenCV中提供的函数,定义如下。函数名:cvErodevoid cvErode( const CvArr* src, CvArr* dst, IplConvKernel* element=NULL, int iterations=1 );src 输入图像,可以是二值,灰度或多通道彩色图像。dst 输出图像,与输入图像格式、尺寸相同。 Element结构元素。若为 NULL, 则使用默认的3×3 长方形,锚点在中间的结构元素,进行腐蚀 阅读全文
posted @ 2011-12-21 21:59
carekee
阅读(1388)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2011-12-21 21:58
carekee
阅读(146)
评论(0)
推荐(0)
摘要:
在学习形态学之前,需要建立一些基本概念。 阅读全文
posted @ 2011-12-21 21:57
carekee
阅读(210)
评论(0)
推荐(0)
浙公网安备 33010602011771号