• 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 }
  • 相关阅读:
    洛谷P1036 选数
    洛谷 P1009 阶乘之和
    codevs 4165 ​高精度求阶乘
    codevs 1553 互斥的数
    P2421 A-B数对(增强版)
    51nod 1081 子段求和
    codevs 3054 高精度练习-文件操作
    无聊写的高精的斐波那契数列
    51nod 1347 旋转字符串
    51nod 1212 无向图最小生成树(Kruskal模版题)
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/14463534.html
Copyright © 2020-2023  润新知