private void button1_Click_1(object sender, EventArgs e)
{
if (ib_original.Image != null)
{
Mat src = new Image<Bgr, byte>(ib_original.Image.Bitmap).Mat;
Mat dst = new Mat();
//Canny 边缘检测算子
CvInvoke.Canny(src, dst, 120, 180);
//创建用于存储轮廓的VectorOfVectorOfPoint数据类型
//需要添加引用命名空间Emgu.CV.Util
VectorOfVectorOfPoint contours = new VectorOfVectorOfPoint();
//IOutputArray contours:检测到的轮廓。通常使用VectorOfVectorOfPoint类型。
//IOutputArray hierarchy:可选的输出向量,包含图像的拓扑信息。不使用的时候可以用 null 填充。
//每个独立的轮廓(连通域)对应 4 个 hierarchy元素 hierarchy[i][0]~hierarchy[i][4]
//(i表示独立轮廓的序数)分别表示后一个轮廓、前一个轮廓、父轮廓、子轮廓的序数。
//RetrType mode标识符及其解析:
//External = 0 提取的最外层轮廓;
EmguCv提取轮廓与绘制轮廓
最新推荐文章于 2024-08-23 07:25:38 发布
本文详细介绍了如何利用EmguCv库在C#中进行图像处理,重点讲解了如何提取图像中的轮廓,并展示了如何将提取的轮廓进行绘制。通过实例代码,读者可以了解到轮廓检测的基本步骤和关键函数的用法,对于理解和应用EmguCv进行图像分析具有指导意义。
摘要由CSDN通过智能技术生成