添加仿射矩形框
//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", "");
}