文章分类 -  形态学和OpenCV[转载]

1 2 3 4 下一页
形态学重建的应用2——填充空洞
摘要:二值图像的空洞定义为与图像边界不相连的背景成分集合。这意味着与图像边界相连的背景成分补集的输出为空洞抑制后的图像,可以通过腐蚀重建实现。其中掩模图像等于输入图像,而标记图像为与输入图像具有相同边界并具有常数 的图像。该方法同样适用于灰度图像。二值图像 空洞填充灰度图像 空洞填充 函数:lhMorpFillHole说明:空洞的填充参数:src 输入图像dst 输出图像源码:void lhMorpFillHole(const IplImage* src, IplImage* dst){ IplImage *temp = cvCloneImage(src); double min, max; cvM 阅读全文
posted @ 2011-12-23 20:05 carekee 阅读(1880) 评论(0) 推荐(0) 编辑
形态学重建的应用1——去除与图像边界连通的目标
摘要:在许多应用中,需要去除所有与图像边界连接的目标。实际上,在进行目标特征计算时,这些小块往往是不完整的目标,特征的计算可能会有误差。利用输入图像作为掩模图像,输入图像与其边界交集作为标记图像,便可提取出与图像边界连接的目标。标记图像包含每一个与图像边界连接目标的种子,重建输出则为这些边界的目标。与图像边界连通目标的去除,可以扩展到灰度图像。二值图像 灰度图像 函数:lhMorpRemoveBoderObj说明:去除边界的连通区域参数:src 输入图像dst 输出图像源码:void lhMorpRemoveBoderObj(const IplImage* src, IplImage* dst).. 阅读全文
posted @ 2011-12-22 19:41 carekee 阅读(1665) 评论(0) 推荐(0) 编辑
lhMorpRClose(lhMorpRBTH)-闭重建(黑顶帽重建)
摘要:原始二值图像闭重建和黑顶帽重建(3*3RECT)函数:lhMorpRClose说明:形态学闭重建参数:src 输入图像dst 输出图像se 结构元素iterations产生标记图像所用的膨胀的次数源码:void lhMorpRClose(const IplImage* src, IplImage* dst, IplConvKernel* se = NULL, int iterations=1){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cv 阅读全文
posted @ 2011-12-22 19:40 carekee 阅读(460) 评论(0) 推荐(0) 编辑
形态学方向梯度--lhMorpGradientDir
摘要:形态学方向梯度常用于探测目标的方向 原始二值网格图像 45度梯度垂直梯度(90度) 水平梯度(0度) 函数:lhMorpGradientDir 说明:形态学方向梯度参数:src 输入图像dst 输出图像angle线性结构元素的角度len线性结构元素的长度源码:void lhMorpGradientDir(const IplImage* src, IplImage* dst, unsigned int angle, unsigned int len ){ assert(src != NULL && dst != NULL && src != dst); IplCo 阅读全文
posted @ 2011-12-22 19:40 carekee 阅读(391) 评论(0) 推荐(0) 编辑
开重建、闭重建、顶帽重建
摘要: 阅读全文
posted @ 2011-12-22 19:39 carekee 阅读(694) 评论(0) 推荐(0) 编辑
lhMorpROpen(lhMorpRWTH)-开重建(白顶帽重建)
摘要:原始二值图像 开重建和白顶帽重建(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 阅读全文
posted @ 2011-12-22 19:39 carekee 阅读(466) 评论(0) 推荐(0) 编辑
lhMorpRankFilterB-二值图像等级滤波器
摘要:原始二值图像 中值滤波和腐蚀效果:(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 && 阅读全文
posted @ 2011-12-22 19:38 carekee 阅读(710) 评论(0) 推荐(0) 编辑
基于OpenCV的形态学开源库 V0.2
摘要:在这几年研究和应用形态学方法的过程中,发现OpenCV中的与形态学相关的内容远远不能满足图像分析应用中的需求,而且在使用cvMorphologyEx的过程中发现了一些问题,所以萌生了建立一个形态学算法库的想法。 经过了一段时间的准备,这个形态学分析的算法库已经有了一定的规模。在这里把这个库的源代码公布出来,希望得到广大爱好者的意见和建议。同时提供了测试用的一个简单的程序,希望对初学者学习OpenCV有所帮助。源代码和测试程序下载: 源代码 测试程序版本0.2函数列表:结构元素的扩展操作lhStructuringElementCopy 结构元素的拷贝lhStructuringElementNot 阅读全文
posted @ 2011-12-22 19:37 carekee 阅读(600) 评论(1) 推荐(0) 编辑
扩展极小值—lhMorpEMin
摘要:扩展极小值(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) 阅读全文
posted @ 2011-12-22 19:35 carekee 阅读(301) 评论(0) 推荐(0) 编辑
扩展极大值—lhMorpEMax
摘要:扩展极大值 (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 阅读全文
posted @ 2011-12-22 19:35 carekee 阅读(191) 评论(0) 推荐(0) 编辑
H凹变换—lhMorpHConcave
摘要: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, 阅读全文
posted @ 2011-12-22 19:34 carekee 阅读(367) 评论(0) 推荐(0) 编辑
H凸变换—lhMorpHConvex
摘要: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 阅读全文
posted @ 2011-12-22 19:34 carekee 阅读(406) 评论(0) 推荐(0) 编辑
H极小值—lhMorpHMin
摘要: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( 阅读全文
posted @ 2011-12-22 19:33 carekee 阅读(211) 评论(0) 推荐(0) 编辑
H极值和扩展极值
摘要: 阅读全文
posted @ 2011-12-22 19:33 carekee 阅读(151) 评论(0) 推荐(0) 编辑
H极大值—lhMorpHMax
摘要: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); 阅读全文
posted @ 2011-12-22 19:33 carekee 阅读(368) 评论(0) 推荐(0) 编辑
区域极小值—lhMorpRMin
摘要:区域极小值 (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 阅读全文
posted @ 2011-12-22 19:32 carekee 阅读(251) 评论(0) 推荐(0) 编辑
区域极大值—lhMorpRMax
摘要:区域极大值 (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 阅读全文
posted @ 2011-12-22 19:32 carekee 阅读(258) 评论(0) 推荐(0) 编辑
测地自对偶和自对偶重建—lhMorpRSelfDual
摘要:函数: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 阅读全文
posted @ 2011-12-22 19:31 carekee 阅读(252) 评论(0) 推荐(0) 编辑
区域极值
摘要: 阅读全文
posted @ 2011-12-22 19:31 carekee 阅读(246) 评论(0) 推荐(0) 编辑

1 2 3 4 下一页