using Cognex.VisionPro;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using TeamAAS_VP.Enums;
using TeamAAS_VP.Models;
namespace TeamAAS_VP.Interfaces
{
public interface ICamera
{
string Name { get; }
Guid ID { get; }
///
/// 相机编号
///
int Index { get; set; }
///
/// 相机品牌
///
CameraBrand CameraBrand { get; }
///
/// 是否通过IP查找相机
///
bool IsFindByIp { get;}
///
/// 厂商名
///
string ManufacturerName { get; }
///
/// 相机型号
///
string ModelName { get; }
///
/// 相机序列号
///
string SerialNumber { get; }
///
/// 相机IP
///
string CameraIp { get; }
///
/// 相机类型
///
CameraType CameraType{get;}
///
/// 正在采集图像
///
bool IsGrabbing { get; }
///
/// 相机图像
///
ICogImage Image { get; }
bool IsConnected { get; }
///
/// 采集用时
///
TimeSpan TotalTime { get; }
///
/// 错误信息
///
string ErrorMessage { get; }
UInt32 ImageWidth { get;}
UInt32 ImageHeight { get;}
///
/// 打开相机
///
///
bool OpenDevice();
///
/// 打开相机异步
///
///
Task OpenDeviceAsync();
///
/// 关闭相机
///
void CloseDevice();
///
/// 采集单张图片,传入一个bool值,表示是否只需要采集最后一张图像,false:采集一张新图像,true:如果正在采集则返回最后一张图像,否则采集一张新图像
///
///
///
ICogImage Grab(bool lastImageOnly=true);
///
/// 开始实时采集图像
///
void StartGrabbing();
///
/// 停止实时采集图像
///
void StopGrabbing();
///
/// 设置曝光时间
///
///
///
bool SetExposureTime(float ExposureTime);
///
/// 获取曝光时间
///
///
float GetExposureTime();
///
/// 设置增益
///
///
///
bool SetGain(float Gain);
///
/// 获取增益
///
///
float GetGain();
///
/// 图像回调
///
event Action ImageCallbackEvent;
///
/// 相机连接状态变更时
///
event Action CameraConnectChangedEvent;
}
}