本文已参与「新人创作礼」活动,一起开启掘金创作之路。 ## 基于visionpro的字符喷涂效果检测
mToolBlock.Outputs["Output"].Value = "NG";
CogToolBlock job1 = mToolBlock.Tools["CogToolBlock1"] as CogToolBlock ;
CogToolBlock job2 = mToolBlock.Tools["CogToolBlock2"] as CogToolBlock ;
CogOCRMaxTool ocr1 =mToolBlock.Tools["CogOCRMaxTool1"] as CogOCRMaxTool ;
CogOCRMaxTool ocr2 =mToolBlock.Tools["CogOCRMaxTool2"] as CogOCRMaxTool ;
// Run each tool using the RunTool function
foreach(ICogTool tool in mToolBlock.Tools)
mToolBlock.RunTool(tool, ref message, ref result);
if ((job1.Outputs["OutputString"].Value == "OK") && (job2.Outputs["OutputString"].Value == "OK"))
{
if ((ocr1.LineResult.Status.ToString()=="Read" ) && (ocr2.LineResult.Status.ToString()=="Read" ))
{
if ((ocr1.LineResult.Count == 7) && (ocr2.LineResult.Count == 7))
{
if (ocr1.LineResult.ResultString.Contains("?"))
{
}
else
{
mToolBlock.Outputs["Output"].Value = "OK";
}
}
}
}
```js
mToolBlock.Outputs["OutputString"].Value = "1";
CogBlobTool blob1 ;
CogBlobTool blob2 ;
CogBlobTool blob3 ;
CogBlobTool blob4 ;
CogBlobTool blob5 ;
CogBlobTool blob6 ;
CogBlobTool blob7 ;
CogBlobTool blob8 ;
CogBlobTool blob9 ;
blob1 = mToolBlock.Tools["CogBlobTool3"] as CogBlobTool;
blob2 = mToolBlock.Tools["CogBlobTool5"] as CogBlobTool;
blob3 = mToolBlock.Tools["CogBlobTool4"] as CogBlobTool;
blob4 = mToolBlock.Tools["CogBlobTool2"] as CogBlobTool;
blob5 = mToolBlock.Tools["CogBlobTool1"] as CogBlobTool;
blob6 = mToolBlock.Tools["CogBlobTool6"] as CogBlobTool;
blob7 = mToolBlock.Tools["CogBlobTool7"] as CogBlobTool;
blob8 = mToolBlock.Tools["CogBlobTool8"] as CogBlobTool;
blob9 = mToolBlock.Tools["CogBlobTool9"] as CogBlobTool;
double max1 = blob1.Results.GetBlobs()[0].Area;
double max2 = blob2.Results.GetBlobs()[0].Area;
double max3 = blob3.Results.GetBlobs()[0].Area;
double max4 = blob4.Results.GetBlobs()[0].Area;
double min1 = blob1.Results.GetBlobs()[11].Area;
double min2 = blob2.Results.GetBlobs()[9].Area;
double min3 = blob3.Results.GetBlobs()[6].Area;
double min4 = blob4.Results.GetBlobs()[13].Area;
string a,b,c ,d,e;
a = "";
b = "";
c = "";
d = "";
e = "";
// Run each tool using the RunTool function
foreach(ICogTool tool in mToolBlock.Tools)
mToolBlock.RunTool(tool, ref message, ref result);
if(( blob1.Results.GetBlobs().Count == blob6.Results.GetBlobs().Count) && ( blob2.Results.GetBlobs().Count == blob7.Results.GetBlobs().Count)&& ( blob3.Results.GetBlobs().Count == blob8.Results.GetBlobs().Count) && ( blob4.Results.GetBlobs().Count == blob9.Results.GetBlobs().Count)&& ( blob5.Results.GetBlobs().Count == 2))
{
for (int i = 0; i < blob6.Results.GetBlobs().Count; i++)
{
if ( Math.Abs(blob1.Results.GetBlobs()[i].Area -blob6.Results.GetBlobs()[i].Area )<500)
{
a = "1";
}
else
{
mToolBlock.Outputs["OutputString"].Value = "a";
}
}
for (int i = 0; i < blob7.Results.GetBlobs().Count; i++)
{
if ( Math.Abs(blob2.Results.GetBlobs()[i].Area - blob7.Results.GetBlobs()[i].Area) < 500)
{
b = "1";
}
else
{
mToolBlock.Outputs["OutputString"].Value = "b";
}
}
for (int i = 0; i < blob8.Results.GetBlobs().Count; i++)
{
if ( Math.Abs(blob3.Results.GetBlobs()[i].Area - blob8.Results.GetBlobs()[i].Area) < 500)
{
c = "1";
}
else
{
mToolBlock.Outputs["OutputString"].Value = "c";
}
}
for (int i = 0; i < blob9.Results.GetBlobs().Count; i++)
{
if ( Math.Abs(blob4.Results.GetBlobs()[i].Area - blob9.Results.GetBlobs()[i].Area) < 500)
{
d = "1";
}
else
{
mToolBlock.Outputs["OutputString"].Value = "d";
}
}
if ((Math.Abs(blob5.Results.GetBlobs()[0].Area-1042) <500 ) && (Math.Abs(blob5.Results.GetBlobs()[1].Area-950) <500 ))
{
e = "1";
}
else
{
mToolBlock.Outputs["OutputString"].Value = "e";
}
}
else
{
mToolBlock.Outputs["OutputString"].Value = "2";
}
if ((a=="1" )&&( b=="1" )&&( c=="1") && (d=="1" )&&( e =="1"))
{
mToolBlock.Outputs["OutputString"].Value = "OK";
}
else
{
mToolBlock.Outputs["OutputString"].Value = "3";
}
``` 本篇文章只介绍代码,详细的步骤将在先后续开始讲解