matlab灰度图孔洞填充,OpenCV图像内轮廓填-孔洞填充

这段代码展示了如何使用OpenCV进行内轮廓填充,特别是针对灰度图的孔洞填充。首先,通过Otsu算法获取二值化阈值,然后找到并填充内部轮廓,当内轮廓面积小于等于指定阈值时,进行填充操作。这种方法有助于图像处理中消除孔洞和修复不完整区域。
摘要由CSDN通过智能技术生成

//test

#include "stdafx.h"

#include "cxcore.h"

#include "cv.h"

#include "highgui.h"

// 内轮廓填充

// 参数:

// 1. pBinary: 输入二值图像,单通道,位深IPL_DEPTH_8U。

// 2. dAreaThre: 面积阈值,当内轮廓面积小于等于dAreaThre时,进行填充。

void FillInternalContours(IplImage *pBinary, double dAreaThre)

{

double dConArea;

CvSeq *pContour = NULL;

CvSeq *pConInner = NULL;

CvMemStorage *pStorage = NULL;

// 执行条件

if (pBinary)

{

// 查找所有轮廓

pStorage = cvCreateMemStorage(0);

cvFindContours(pBinary, pStorage, &pContour, sizeof(CvContour), CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE);

// 填充所有轮廓

cvDrawContours(pBinary, pContour, CV_RGB(255, 255, 255), CV_RGB(255, 255, 255), 2, CV_FILLED, 8, cvPoint(0, 0));

// 外轮廓循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值