結果圖
通過斑點工具中非圓性找取圓特征

代碼?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;using Cognex.VisionPro.ImageFile;
using Cognex.VisionPro;
using Cognex.VisionPro.Blob;
using Cognex.VisionPro.Exceptions;namespace myapp4
{public partial class Form1 : Form{//成員聲明CogBlobTool mTool;CogImageFileTool mImageFileTool;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){mTool = new CogBlobTool();mImageFileTool = new CogImageFileTool();mImageFileTool.Operator.Open("bracket_std.idb", CogImageFileModeConstants.Read);mImageFileTool.Run();CogDisplay1.Image = mImageFileTool.OutputImage;//設置輸出圖像CogDisplay1.Fit();}private void button1_Click(object sender, EventArgs e){CogDisplay1.StaticGraphics.Clear();//清空靜態圖形//運行blob工具mTool.InputImage = mImageFileTool.OutputImage;mTool.Run();//獲取斑點的輪廓 并顯示CogDisplay1.Image = mImageFileTool.OutputImage;int r;for (r = 0; (r<= (mTool.Results.GetBlobs().Count - 1)); r++){if (optCircular.Checked)//如果選取圓性{// display circular objects hereif (((mTool.Results.GetBlobs()[r].Acircularity > 0.9)&& (mTool.Results.GetBlobs()[r].Acircularity < 1.1))){CogDisplay1.StaticGraphics.Add(mTool.Results.GetBlobs()[r].CreateResultGraphics(CogBlobResultGraphicConstants.Boundary), "test");}}else//非圓性{// display non-circular objects hereif (((mTool.Results.GetBlobs()[r].Acircularity <= 0.9)|| (mTool.Results.GetBlobs()[r].Acircularity >= 1.1))){CogDisplay1.StaticGraphics.Add(mTool.Results.GetBlobs()[r].CreateResultGraphics(CogBlobResultGraphicConstants.Boundary), "test");}}}}}
}