获取斑点坐标,添加仿射矩形框-获取斑点矩形框并标注

 添加仿射矩形框

//1.添加两个仿射矩形框    Cog  Rectangle 矩形 Affine仿射 可以旋转 形变 的矩形 
  CogRectangleAffine rect1 = new CogRectangleAffine();
  CogRectangleAffine rect2 = new CogRectangleAffine();


 //2.获取结果
     CogBlobTool  blob1 =  (CogBlobTool) mToolBlock.Tools["CogBlobTool1"];   //等价写法  

    mToolBlock.Tools["CogBlobTool1"]  as  CogBlobTool
     
    rect1.Color = CogColorConstants.Red;//红色
    rect1.LineWidthInScreenPixels = 2;//线宽为2个像素
    rect1.CenterX = blob1.Results.GetBlobs()[0].CenterOfMassX;
    rect1.CenterY = blob1.Results.GetBlobs()[0].CenterOfMassY;
    rect1.SideXLength = 50;
    rect1.SideYLength = 70;//矩形框的长度和宽度
   
    
    rect2.Color = CogColorConstants.Green;//绿色
    rect2.LineWidthInScreenPixels = 2;//线宽为2个像素
    rect2.CenterX = blob1.Results.GetBlobs()[1].CenterOfMassX;
    rect2.CenterY = blob1.Results.GetBlobs()[1].CenterOfMassY;
    rect2.SideXLength = 50;
    rect2.SideYLength = 70;//矩形框的长度和宽度


 //3.添加到图像上
    mToolBlock.AddGraphicToRunRecord(rect1, lastRecord, "CogFixtureTool1.OutputImage", "");
    mToolBlock.AddGraphicToRunRecord(rect2, lastRecord, "CogFixtureTool1.OutputImage", "");

    

 

 获取斑点最小外接矩形-更换颜色显示在图像上 


using System.Collections.Generic; 

//定义一个列表  图形标签列表
List<CogGraphicLabel>  myLabel = new  List<CogGraphicLabel>();

//创建一个图形集合
  CogGraphicCollection gc = new CogGraphicCollection();	



   //定义一个斑点工具 名字叫做blob 
   CogBlobTool blob = mToolBlock.Tools["CogBlobTool1"]  as CogBlobTool;

   CogFindCircleTool circle = mToolBlock.Tools["CogFindCircleTool1"]  as 
CogFindCircleTool;

   CogFixtureTool FIX = mToolBlock.Tools["CogFixtureTool1"]  as CogFixtureTool;

    gc.Clear(); //清空列表

    foreach( CogBlobResult b1 in  blob.Results.GetBlobs() )  
    {
      CogRectangleAffine rect = new CogRectangleAffine();
      rect = b1.GetBoundingBox(CogBlobAxisConstants.Principal); //最小外接矩形 

      
      CogGraphicLabel x = new CogGraphicLabel();
      
      x.SetXYText(b1.CenterOfMassX,b1.CenterOfMassY, "显示的内容".ToString());
       //吧x的信息加到myLabel上
      myLabel.Add(x);
      //myLabel.Add(rect1);
      int Area = (int)b1.Area;
      
      if(Area>21300)//面积判断
      {
        rect.Color = CogColorConstants.Green;  //设置矩形框颜色Green绿色
      }
      else
      {
      rect.Color = CogColorConstants.Red; 
      
      }
       gc.Add(rect);//添加到图形集合
    } 


//吧每个x的结果添加到CogBlobTool1.InputImage这个图像源上
foreach( ICogGraphic x1 in  gc)
 {  
   mToolBlock.AddGraphicToRunRecord(x1, lastRecord, "CogIPOneImageTool1.InputImage", "");
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值