代码狗

当前位置:代码狗 > 开发教程 > 工业视觉教程 > 正文

VisionPro控件cogRecordDisplay与cogDisplay显示内容转换

康耐视提供了四种显示控件给我们使用,它们分别是cogDisplay、CogDisplayStatusBarV2、CogDisplayToolbarV2、CogRecordDisplay。我们最常用的就是cogDisplay与CogRecordDisplay。大家在用的时候可能已经察觉到它们的一些区别了,今天我们讲讲如何将cogRecordDisplay显示的record图像转换为cogDisplay的image图像,也就是8位灰度图CogImage8Grey。

首先还是看看效果:

VisionPro控件cogRecordDisplay与cogDisplay显示内容转换

VisionPro控件cogRecordDisplay与cogDisplay显示内容转换

界面比较简陋,大家将就看看就好。看到上面的图,可能大家会问,上面图中的绿色框怎么转换后就不见了?是不是狗哥作弊了?上下各自加载一张图片就能胡诌一篇文章来骗大家IP?对此我只能说大家想多了,这个问题我也不知道,我是按照图像转的,没有作假,下面是代码,大家可以自己写来跑一跑。

详细代码如下:

private void Form1_Load(object sender, EventArgs e)
{
myjob = (CogJobManager)CogSerializer.LoadObjectFromFile(Application.StartupPath + "/QuickBuild1.vpp");//加载vpp

}
CogJobManager myjob;
Cognex.VisionPro.ICogRecord myreac;
private void button1_Click(object sender, EventArgs e)
{
myjob.Job(0).Run();
CogToolGroup mygroup = myjob.Job(0).VisionTool as CogToolGroup;

myreac = mygroup.CreateLastRunRecord();
cogRecordDisplay1.Record = myreac.SubRecords[0];//显示结果图像到cogrecorddisplay
}

private void button2_Click(object sender, EventArgs e)
{

cogDisplay1.Image = (Cognex.VisionPro.CogImage8Grey)myreac.SubRecords[1].Content;//转换成image类型显示出来
}

今天说这个是一个同行问我这个问题,从来没做个这种需求,要知道一张500W像素的照片大概4-5M,按照一天1W的产量计算,一天就能产生50G的图像信息,存储空间占用相当的大,存储这个作用不大,不过问题不错,又能学到一招。

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏

评论 抢沙发

×

请作者吃根烤肠!

支付宝