|
@@ -48,7 +48,7 @@ namespace TeamAAS_VP.Core.Cameras
|
|
|
public int Index { get; set; }
|
|
public int Index { get; set; }
|
|
|
public string ManufacturerName { get; private set; }
|
|
public string ManufacturerName { get; private set; }
|
|
|
|
|
|
|
|
- public bool IsFindByIp { get; private set; }
|
|
|
|
|
|
|
+ public bool IsFindByIp { get; private set; }
|
|
|
|
|
|
|
|
public string ModelName { get; private set; }
|
|
public string ModelName { get; private set; }
|
|
|
|
|
|
|
@@ -107,14 +107,14 @@ namespace TeamAAS_VP.Core.Cameras
|
|
|
public event Action<Guid, bool> CameraConnectChangedEvent;
|
|
public event Action<Guid, bool> CameraConnectChangedEvent;
|
|
|
#endregion
|
|
#endregion
|
|
|
|
|
|
|
|
- public MvCamera(Guid id,int index, string name, string serialNumber,string cameraip,bool isFindByIp)
|
|
|
|
|
|
|
+ public MvCamera(Guid id, int index, string name, string serialNumber, string cameraip, bool isFindByIp)
|
|
|
{
|
|
{
|
|
|
ID = id;
|
|
ID = id;
|
|
|
Name = serialNumber;
|
|
Name = serialNumber;
|
|
|
Index = index;
|
|
Index = index;
|
|
|
- CameraIp=cameraip;
|
|
|
|
|
|
|
+ CameraIp = cameraip;
|
|
|
SerialNumber = serialNumber;
|
|
SerialNumber = serialNumber;
|
|
|
- IsFindByIp= isFindByIp;
|
|
|
|
|
|
|
+ IsFindByIp = isFindByIp;
|
|
|
mvCameraAcq = new MvCameraAcqTool.MvCameraAcqTool();
|
|
mvCameraAcq = new MvCameraAcqTool.MvCameraAcqTool();
|
|
|
MyCamera.MV_CC_DEVICE_INFO_LIST stDeviceList = default(MyCamera.MV_CC_DEVICE_INFO_LIST);
|
|
MyCamera.MV_CC_DEVICE_INFO_LIST stDeviceList = default(MyCamera.MV_CC_DEVICE_INFO_LIST);
|
|
|
mvCameraAcq.EnumDeivce(ref stDeviceList);
|
|
mvCameraAcq.EnumDeivce(ref stDeviceList);
|
|
@@ -129,8 +129,8 @@ namespace TeamAAS_VP.Core.Cameras
|
|
|
uint nIp2 = ((stGigEDeviceInfo.nCurrentIp & 0x00ff0000) >> 16);
|
|
uint nIp2 = ((stGigEDeviceInfo.nCurrentIp & 0x00ff0000) >> 16);
|
|
|
uint nIp3 = ((stGigEDeviceInfo.nCurrentIp & 0x0000ff00) >> 8);
|
|
uint nIp3 = ((stGigEDeviceInfo.nCurrentIp & 0x0000ff00) >> 8);
|
|
|
uint nIp4 = (stGigEDeviceInfo.nCurrentIp & 0x000000ff);
|
|
uint nIp4 = (stGigEDeviceInfo.nCurrentIp & 0x000000ff);
|
|
|
- string ip= string.Format("{0}.{1}.{2}.{3}", nIp1, nIp2, nIp3, nIp4);
|
|
|
|
|
-
|
|
|
|
|
|
|
+ string ip = string.Format("{0}.{1}.{2}.{3}", nIp1, nIp2, nIp3, nIp4);
|
|
|
|
|
+
|
|
|
if (IsFindByIp)
|
|
if (IsFindByIp)
|
|
|
{
|
|
{
|
|
|
if (CameraIp == ip)
|
|
if (CameraIp == ip)
|
|
@@ -210,7 +210,7 @@ namespace TeamAAS_VP.Core.Cameras
|
|
|
string ip = string.Format("{0}.{1}.{2}.{3}", nIp1, nIp2, nIp3, nIp4);
|
|
string ip = string.Format("{0}.{1}.{2}.{3}", nIp1, nIp2, nIp3, nIp4);
|
|
|
cameras.Add(new CameraInfo()
|
|
cameras.Add(new CameraInfo()
|
|
|
{
|
|
{
|
|
|
- CameraNo= i + 1,
|
|
|
|
|
|
|
+ CameraNo = i + 1,
|
|
|
CameraName = gigeInfo.UserDefinedName,
|
|
CameraName = gigeInfo.UserDefinedName,
|
|
|
CameraBrand = CameraBrand.HikRobot_MVS,
|
|
CameraBrand = CameraBrand.HikRobot_MVS,
|
|
|
CameraType = CameraType.GIGE,
|
|
CameraType = CameraType.GIGE,
|
|
@@ -218,7 +218,7 @@ namespace TeamAAS_VP.Core.Cameras
|
|
|
Model = gigeInfo.chModelName,
|
|
Model = gigeInfo.chModelName,
|
|
|
SerialNumber = gigeInfo.chSerialNumber,
|
|
SerialNumber = gigeInfo.chSerialNumber,
|
|
|
CameraIp = ip,
|
|
CameraIp = ip,
|
|
|
- IsFindByIp=true,
|
|
|
|
|
|
|
+ IsFindByIp = true,
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
else if (m_ltDeviceList[i].nTLayerType == CSystem.MV_USB_DEVICE)
|
|
else if (m_ltDeviceList[i].nTLayerType == CSystem.MV_USB_DEVICE)
|
|
@@ -285,7 +285,7 @@ namespace TeamAAS_VP.Core.Cameras
|
|
|
using (RegistryKey subKey = key.OpenSubKey(subKeyName))
|
|
using (RegistryKey subKey = key.OpenSubKey(subKeyName))
|
|
|
{
|
|
{
|
|
|
string displayName = subKey.GetValue("DisplayName")?.ToString();
|
|
string displayName = subKey.GetValue("DisplayName")?.ToString();
|
|
|
- if (displayName != null && displayName.ToUpper().Trim()==softwareName.ToUpper())
|
|
|
|
|
|
|
+ if (displayName != null && displayName.ToUpper().Trim() == softwareName.ToUpper())
|
|
|
{
|
|
{
|
|
|
string version = subKey.GetValue("DisplayVersion")?.ToString();
|
|
string version = subKey.GetValue("DisplayVersion")?.ToString();
|
|
|
Version v1 = new Version(version);
|
|
Version v1 = new Version(version);
|
|
@@ -428,10 +428,11 @@ namespace TeamAAS_VP.Core.Cameras
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
- /// 采集图像
|
|
|
|
|
|
|
+ /// 采集单张图片
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ /// <param name="lastImageOnly">true:采集一张新图像,false:返回最后一张图像</param>
|
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
|
- public ICogImage Grab()
|
|
|
|
|
|
|
+ public ICogImage Grab(bool lastImageOnly = true)
|
|
|
{
|
|
{
|
|
|
_operationSemaphore.Wait();
|
|
_operationSemaphore.Wait();
|
|
|
try
|
|
try
|