基于漫水填充法的二值图像封闭孔洞填充
来源:互联网 发布:win10有线未识别的网络 编辑:程序博客网 时间:2024/04/29 15:24
将大背景全部用前景色(白色)填充(cvFloodFill函数,一(0,0)为种子点即可),即得到孔洞图(此时孔洞用为黑色),然后将此图二值反转,即得到用白色表示的孔洞图,然后将此空洞图与原二值图相加(使用cvAdd函数即可)即可将孔洞填充掉。
只对封闭孔洞有效
/**************************************************************//* 基于漫水填充的二值图像的封闭孔洞填充 *//* 思路:用白色填充整个背景区域,得到的孔洞为黑色。 *//* 反转后得到白色的孔洞,与原二值图像相加得到填充后的图像。 *//**************************************************************/void fillhole(IplImage *input,IplImage *output){IplImage *input_copy=cvCreateImage(cvGetSize(input),input->depth,1);cvCopy(input,input_copy);char *Pointer;for(int y=0;y<input_copy->height;y++){Pointer=input_copy->imageData+y*input_copy->widthStep;if(Pointer[0]==0)cvFloodFill(input_copy,cvPoint(0,y),cvScalarAll(255));if(Pointer[input_copy->width-1]==0)cvFloodFill(input_copy,cvPoint(input_copy->width,y),cvScalarAll(255));}for(int x=0;x<input_copy->width;x++){Pointer=input_copy->imageData+x;if(Pointer[0]==0)cvFloodFill(input_copy,cvPoint(x,0),cvScalarAll(255));if(Pointer[input_copy->height-1]==0)cvFloodFill(input_copy,cvPoint(x,input_copy->height-1),cvScalarAll(255));}cvNot(input_copy,input_copy);cvAdd(input,input_copy,output,NULL);}
实验结果:
0 0
- 基于漫水填充法的二值图像封闭孔洞填充
- opencv 二值图像的孔洞填充
- 二值图像孔洞填充
- 二值图像中封闭孔洞的高效填充算法(附源码)。
- Opencv图像识别从零到精通(24)------漫水填充,种子填充,区域生长、孔洞填充
- 图像孔洞填充与小连通域的删除
- 形态学填充孔洞的几个问题
- OpenCV图像内轮廓填-孔洞填充
- OpenCV图像内轮廓填-孔洞填充
- 二值图像--形态学处理4 击中,边界提取,孔洞填充,连通分量提取,凸壳,细化,骨架,形态学重建
- 图像处理之基于泛红算法的二值图像内部区域填充
- 二值图像轮廓填充
- opencv填充孔洞
- OPENCV二值化图像内孔洞填充/小区域去除
- OPENCV二值化图像内孔洞填充/小区域去除
- OPENCV二值化图像内孔洞填充/小区域去除
- opencv二值图孔洞填充算法
- opencv二值图孔洞填充算法
- 2015届华为校园招聘机试题
- html的<marquee>标签的属性
- Linux常用命令(第二版) --Shell应用技巧
- 整理自己认为能理解的面试题目解法
- Photoshop制作Android UI: 如何将图片背景变为透明
- 基于漫水填充法的二值图像封闭孔洞填充
- swift closure 闭包
- Understanding IE’s New Exploit Mitigations: The Memory Protector and the Isolated Heap
- UVA - 445 Marvelous Mazes
- HDU 1004 Let the Balloon Rise
- 程序员高效思维方式
- 新的征程
- U-boot 启动(一)
- wordpress设置自定义固定链接的一些心得总结