VisionPro QuickBuild工具
VisionPro QuickBuild是康耐视旗下的与相机配套的软件,主要是设计了一些底层算法,免去了开发者要进行底层开发的工作量,而其中的ToolBlock工具相当于一个函数,可以在这个函数里面完成你想完成的功能,整个软件主要是通过拖动工具箱里的工具完成你所想要完成的功能,总的来说是一款不错的软件。
当你从创建了一个VPP文件之后,再往里面拖动一个ToolBlock工具时,此时就可以用两种方式加载该VPP,分别是toolblock工具和整个QuickBuild,通常用得比较多的是加载ToolBlock工具,可以从c#加载图片进入到ToolBlock工具,完成采集到检测的功能。注意保存ToolBlock工具时,需要保存完整的工具。
如何确定一个vpp文件是ToolBlock文件还是QuickBuild文件,在Cognex的安装路径下,直接cmd,在使用VPPVersion工具即可。
C#加载ToolBlock工具
主要代码如下所示:
CogToolBlock tbx = new CogToolBlock(); //ToolBlock工具
CogImageFile cogimage_pic1 = new CogImageFile(); //图像读取工具
CogFixtureTool cft_pic1; //ToolBlock工具的其中的小工具
private void Form1_Load(object sender, EventArgs e)
{
//初始化操作
tbx = CogSerializer.LoadObjectFromFile(vpp1path) as CogToolBlock;
cft_pic1 = tbx.Tools["CogFixtureTool1"] as CogFixtureTool;
//ToolBlock里面会拖入很多的工具,想要使用某种工具的结果,都可以去调用你ToolBlock文件中拖入工具的名称。
path_pic1= Directory.GetFiles(img1path);
}
private void Imageshow_record1()
{
orderpic1 %= path_pic1.Length;
cogimage_pic1.Open(path_pic1[orderpic1], CogImageFileModeConstants.Read);
cft_pic1.InputImage = cogimage_pic1[0]; //给ToolBlock工具中输入图片
tbx.Run(); //让ToolBlock工具运行
//将结果显示在cogRecordDisplay1上
Invoke(new Action(() =>
{
try
{
cogRecordDisplay1.InteractiveGraphics.Clear();
cogRecordDisplay1.StaticGraphics.Clear();
cogRecordDisplay1.Image = cft_pic1.OutputImage;
cogRecordDisplay1.Record = cft_pic1.CreateLastRunRecord();
cogRecordDisplay1.AutoFit = true;//自适应
cogRecordDisplay1.Fit();
}
catch (Exception ex)
{
MessageBox.Show($"Error displaying record: {ex.Message}");
}
}));
var now = DateTime.Now;
//存图
if (saveimg)
{
string fileNameWithoutExtension = "reslt_";
fileNameWithoutExtension += now.ToString("yyyy_MM_dd_HH_mm_ss");
string imagname = ressavePath + fileNameWithoutExtension + ".bmp";
Cognex.VisionPro.ICogImage img = cogRecordDisplay1.Image;
Bitmap bitmap = (System.Drawing.Bitmap)img.ToBitmap();
Bitmap img1 = (System.Drawing.Bitmap)bitmap.Clone();
img1.Save(imagname, System.Drawing.Imaging.ImageFormat.Bmp);
}
orderpic1 += 1;
WriteLog(logContent.ToString());
}