• 大小: 53KB
    文件类型: .cs
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: C#
  • 标签: Visionpro  Basler  C#  

资源简介

这个类封装把封装了pylon Viewer 的API 方便设置参数(适用于Basler_pylon_5.0.11 以上)。采集到图片后转换成VisionPro图片格式发出一个彩图完成事件。转换为Halcon图片格式代码注释掉了。需要用到可自行去掉注释。

资源截图

代码片段和文件信息

using Basler.Pylon;
using Cognex.VisionPro;
using CommonServiceLocator;
using MovementVision.Infrastructure.Interfaces;
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;

namespace MovementVision.Infrastructure
{
    public class BaslerCam
    {
        private Camera camera = null;
        private PixelDataConverter converter = new PixelDataConverter();
        private String strUserID = null;
        int[] FailCount = new int[9];
        IntPtr latestframeAddress = IntPtr.Zero;
        public long imageWidth = 0;                        // 图像宽
        public long imageHeight = 0;                       // 图像高
        public string TirggerMode = ““;
        public double LineRateAbs = 0;                      //外触发帧率
        public double minLineRateAbs = 0;               //最小外触发帧率
        public double maxLineRateAbs = 0;               //最大外触发帧率
        public int numWindowIndex = 0;
        public ConcurrentQueue ImageList = new ConcurrentQueue();
        private long grabTime = 0;                    // 采集图像时间

        //private Hobject hPylonImage = null;/////////////////////////////////////////////////////////////删除halcon的
        private ICogImage CogImg;                 //VisionPRO图片
        //private IntPtr latestframeAddress = IntPtr.Zero;
        private Stopwatch stopWatch = new Stopwatch();

        /// 计算采集图像时间自定义委托
        public delegate void delegateComputeGrabTime(long time);
        /// 计算采集图像时间委托事件
        public event delegateComputeGrabTime eventComputeGrabTime;

        /// 图像处理自定义委托
        //public delegate void delegateProcessHImage(Hobject hImage);/////////////////////////////////////////////////////////////删除halcon的
        public delegate void delegateProcessHImage(ICogImage CogImg long n);
        /// 图像处理委托事件
        //public event delegateProcessHImage eventProcessImage;/////////////////////////////////////////////////////////////删除halcon的
        public event delegateProcessHImage eventProcessImage;

        /// if >= Sfnc2_0_0说明是USB3的相机
        static Version Sfnc2_0_0 = new Version(2 0 0);
        /**************************************************************    实例化相机    ******************/
        /// 实例化第一个找到的相机
        public BaslerCam()
        {
            try
            {
                camera = new Camera();
            }
            catch (Exception e)
            {
                ShowException(e);
            }
        }
        /// 根据相机序列号实例化相机
        //public BaslerCam(string SN)
        //{
        //    camera = new Camera(SN);
        //}
        /// 根据相机UserID实例化相机
        public BaslerCam(string UserID)
        {
            try
            {
                strUserID = 

评论

共有 条评论