VisionPro CogImageAverageTool工具 图像处理工具

CogImageAverageTool工具的功能原理

CogImageAverageTool工具可以对同一场景内的多张图片求平均,输出平均后的图像,平均的方式是对多张图像中每一个像素值求平均值,以这个平均值作为这个输出图像的灰度值。通过对多张图像求平均值,可以消除噪声及光线不稳定对图像的影响。

除了求取图像的平均值,CogImageAverageTool工具还可以计算求取多张图像的标准差图像。

CogImageAverageTool工具的Add方法可向工具中添加待平均的图像,ExecuteAverage方法执行图像平均操作。其中有3个按钮,点击“Acquire”按钮向CogImageAverageTool工具中添加图像,点击“ExecuteAverage”按钮执行图像平均操作,点击“Reset”复位CogImageAverageTool工具。示例代码如下:

 1 using Cognex.VisionPro;
 2 using Cognex.VisionPro.ImageProcessing;
 3  
 4 //Image Acq Variables
 5  
 6 private int tNum;
 7 private CogFrameGrabbers myFrameGrabbers;
 8 private ICogFrameGrabber myFrameGrabber;
 9 private ICogAcqFifo myAcqFifo;
10  
11 //Image Average Variables
12 private CogImageAverage myAvImage;
13 private CogImage8Grey nextImage;
14  
15 /*****************相机的初始化操作*******************/
16 private void InitializeFifo()
17 {
18    const string VIDEO_FORMAT="Sony XC75 640x480";
19    myFrameGrabbers=new CogFrameGrabbers();
20  
21    myFrameGrabber=myFrameGrabbers[0];
22  
23    myAcqFifo=myFrameGrabber.GreateAcqFifo(VIDE)_FORMAT,
24   Cognex.VisionPro.CogAcqFifoPixelFormatConstants.Format8Grey,0,false);
25 }
26  
27 /******************定义并实例化CogImageAverageTool工具**********************/
28 private void InitializeImageAverage()
29 {
30    myAvImage=new CogImageAverage();
31 }
32  
33 /************为CogImageAverageTool工具添加平均图像***************************/
34 private void Acquire_Click(object sender,System.EventArgs e)
35 {
36    cogDisplay.Image=myAcqFifo.Acquire(out tNum);
37    cogDisplay1.Fit(true);
38    nextImage=(CogImage8Grey)cogDisplay1.Image;
39    myAvImage.Add(nextImage,null);
40    textBox1.Text=myAvImage.NumImages.ToString();
41 }
42  
43 /*****************执行平均操作*************************/
44 private void ExecuteAverage_Click(object sender,System.EventArgs e)
45 {
46    cogDisplay2.Image=myAvImage.ExecuteAverage();
47    cogDisplay2.Fit(true);
48 }
49  
50 /************复位CogImageAverageTool工具****************/
51 private void Reset_Click(object sender,System.EventArgs e)
52 {
53    myAvImage.Reset();
54 }
原文地址:https://www.cnblogs.com/ybqjymy/p/14463534.html