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 }
不要去跟随消逝的虚无