LuJiaYi/CameraBase.cs

74 lines
2.0 KiB
C#
Raw Normal View History

2024-08-17 18:00:59 +08:00
using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GuideGraspSys
{
public abstract class CameraBase
{
/// <summary>
///
/// </summary>
public Mat MyImage { get; set; }
/// <summary>
/// 相机名
/// </summary>
public string CameraName { get; set; }
/// <summary>
/// 查找相机
/// </summary>
/// <returns></returns>
/// <summary>
/// 根据相机序列号开启相机
/// </summary>
/// <param name="CameraName"></param>
/// <returns></returns>
public abstract bool OpenCamera(string serialNum,IntPtr hWnd);//根据相机序列号开启相机
/// <summary>
/// 关闭相机
/// </summary>
/// <returns></returns>
public abstract bool CloserCamera();//关闭相机
/// <summary>
///软触发一次
/// </summary>
/// <returns></returns>
/// <summary>
/// 启动为硬触发
/// </summary>
/// <returns></returns>
public abstract bool EncoderGrap();
/// <summary>
/// 重连相机
/// </summary>
/// <param name="CameraName"></param>
/// <returns></returns>
public abstract bool ReconnectCamera(string CameraName);
/// <summary>
/// 设置曝光
/// </summary>
/// <param name="ExposureTime"></param>
/// <returns></returns>
public abstract bool SetExpoureTime(int ExposureTime);
/// <summary>
/// 图像委托事件 用于传出参数
/// </summary>
/// <param name="Image"></param>
public delegate void delegateProcessHImage(Mat Image);
public event delegateProcessHImage EventProcessImage;
public void GetImage(Mat getimage)
{
MyImage = new Mat(getimage);
EventProcessImage(MyImage);
}
}
}