Commit 32bf752b LN

视觉识别修改,识别时增加参数planName

1 个父辈 8fce0372
{"CodeOrder":"HalconOnly","Halcon":{"CodeType":"All","Zoom1DCode":1.5,"Zoom2DCode":1.5},"EyemLib":{"CodeType":"All","BlockSize":11,"RangeC":5,"SymbolMin":128,"SymbolMax":215},"Region":[{"CameraName":"monitor","RegionName":"LeftTop","X":952,"Y":268,"Width":416,"Height":479,"Ratio":0.7},{"CameraName":"monitor","RegionName":"RightTop","X":967,"Y":288,"Width":396,"Height":456,"Ratio":0.7},{"CameraName":"monitor","RegionName":"name1","X":526,"Y":424,"Width":640,"Height":375,"Ratio":0.7}],"HIKIPCamera":[{"Name":"monitor","IP":"192.168.102.210","Port":"8000","User":"admin","Pwd":"acc123456"}]}
\ No newline at end of file \ No newline at end of file
{"CodeOrder":"HalconOnly","Halcon":{"CodeType":"All","Zoom1DCode":1.5,"Zoom2DCode":1.5},"EyemLib":{"CodeType":"All","BlockSize":11,"RangeC":5,"SymbolMin":128,"SymbolMax":215},"Region":{"monitor":{"Aplan":[{"RegionName":"one","X":133,"Y":167,"Width":396,"Height":456,"Ratio":0.5},{"RegionName":"two","X":555,"Y":170,"Width":390,"Height":450,"Ratio":0.6}],"Bplan":[{"RegionName":"one","X":927,"Y":278,"Width":396,"Height":456,"Ratio":0.5},{"RegionName":"two","X":1353,"Y":276,"Width":396,"Height":456,"Ratio":0.5}],"C计划":[{"RegionName":"name1","X":122,"Y":147,"Width":100,"Height":100,"Ratio":0.4}]},"monitor2":{"key1":[{"RegionName":"one","X":967,"Y":288,"Width":396,"Height":456,"Ratio":0.5}]}},"HIKIPCamera":[{"Name":"monitor","IP":"192.168.10.64","User":"admin","Password":"qwert2asdfg","Port":8000}]}
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<log4net>
<logger name="log">
<level value="Debug"/>
<appender-ref ref="log"/>
</logger>
<appender name="log" type="log4net.Appender.RollingFileAppender">
<param name="File" value="Logs\\CameraVisionLibSetting.log" />
<param name="Encoding" value="UTF-8"/>
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy-MM-dd" />
<param name="MaxSizeRollBackups" value="100" />
<param name="MaxFileSize" value="10240" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="[%d][%t][%c:%L]%-5p %m%n" />
</layout>
</appender>
</log4net>
</configuration>
\ No newline at end of file \ No newline at end of file
...@@ -85,6 +85,28 @@ namespace OnlineStore.DeviceLibrary ...@@ -85,6 +85,28 @@ namespace OnlineStore.DeviceLibrary
lineConnect = new LineConnect(config.GetStoreId(),config.CID); lineConnect = new LineConnect(config.GetStoreId(),config.CID);
mainTimer.Enabled = false; mainTimer.Enabled = false;
} }
public void FeatureOriginal(string planName)
{
try
{
//判断是否记录比较原图
if (MoveInfo.MoveType.Equals(StoreMoveType.ReturnHome) && StoreManager.Store.vision != null && (!String.IsNullOrEmpty(Config.Camera_Name)))
{
LogInfo("" + MoveInfo.MoveType + $":获取特征原始图[{Config.Camera_Name}][{planName}]");
StoreManager.Store.vision.FeatureOriginal(Config.Camera_Name, planName);
}
}
catch (AccessViolationException e)
{
LogUtil.error(Name + "FeatureOriginal 出错 AccessViolationException:" + e.ToString());
}
catch (Exception ex)
{
LogUtil.error(Name + "FeatureOriginal 出错:" + ex.ToString());
}
}
private int vcount = 0; private int vcount = 0;
/// <summary> /// <summary>
/// 视觉比较是否有料 /// 视觉比较是否有料
...@@ -92,7 +114,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -92,7 +114,7 @@ namespace OnlineStore.DeviceLibrary
/// <param name="exist"></param> /// <param name="exist"></param>
/// <returns>true=有料,false=无料</returns> /// <returns>true=有料,false=无料</returns>
[HandleProcessCorruptedStateExceptions] [HandleProcessCorruptedStateExceptions]
public bool VisionComp(out Dictionary<string, bool> exist) public bool VisionComp(string planName,out Dictionary<string, bool> exist)
{ {
LastCheckTime = DateTime.Now; LastCheckTime = DateTime.Now;
bool returnResult = false; bool returnResult = false;
...@@ -106,7 +128,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -106,7 +128,7 @@ namespace OnlineStore.DeviceLibrary
if (StoreManager.Store. vision != null) if (StoreManager.Store. vision != null)
{ {
vcount++; vcount++;
bool result= StoreManager.Store.vision.FeatureCompare(Config.Camera_Name, out exist); bool result= StoreManager.Store.vision.FeatureCompare(Config.Camera_Name,planName, out exist);
if (!result) if (!result)
{ {
LogUtil.error(Name + " VisionComp ["+ Config.Camera_Name + "] =" + result); LogUtil.error(Name + " VisionComp ["+ Config.Camera_Name + "] =" + result);
...@@ -128,7 +150,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -128,7 +150,7 @@ namespace OnlineStore.DeviceLibrary
str += key + "=" + exist[key] + ";"; str += key + "=" + exist[key] + ";";
} }
} }
LogUtil.info(Name + "VisionComp "+ vcount + " [" + Config.Camera_Name + "] 结果:" + str); LogUtil.info(Name +$"VisionComp{ vcount } [{ Config.Camera_Name }][{planName}] 结果:{str}" );
} }
} }
} }
...@@ -224,9 +246,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -224,9 +246,17 @@ namespace OnlineStore.DeviceLibrary
storeRunStatus = StoreRunStatus.HomeMoving; storeRunStatus = StoreRunStatus.HomeMoving;
MoveInfo.NewMove(StoreMoveType.ReturnHome); MoveInfo.NewMove(StoreMoveType.ReturnHome);
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
ACAxisHomeMove(Config.InOut_Axis); ACAxisHomeMove(Config.InOut_Axis);
LogInfo( "开始原点返回,先把进出轴回原点");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
if (MoveInfo.MoveType.Equals(StoreMoveType.ReturnHome) && StoreManager.Store.vision != null && (!String.IsNullOrEmpty(Config.Camera_Name)))
{
LogInfo("开始原点返回,先把进出轴回原点,打开仓门");
OpenDoor(true);
}
else
{
LogInfo("开始原点返回,先把进出轴回原点");
}
} }
public void MoveToP1() public void MoveToP1()
{ {
...@@ -267,9 +297,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -267,9 +297,9 @@ namespace OnlineStore.DeviceLibrary
return; return;
} }
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutMove); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutMove);
LogInfo( "复位中,等待2秒后进出轴开始原点返回"); LogInfo("复位中,等待2秒后进出轴开始原点返回");
//ACAxisHomeMove(Config.InOut_Axis); //ACAxisHomeMove(Config.InOut_Axis);
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
isInPro = false; isInPro = false;
} }
...@@ -291,15 +321,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -291,15 +321,17 @@ namespace OnlineStore.DeviceLibrary
case StoreMoveStep.BOX_H_InOutMove: case StoreMoveStep.BOX_H_InOutMove:
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutBack); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutBack);
ACAxisHomeMove(Config.InOut_Axis); ACAxisHomeMove(Config.InOut_Axis);
LogInfo( "" + MoveInfo.MoveType + ":进出轴开始原点返回"); LogInfo("" + MoveInfo.MoveType + ":进出轴开始原点返回");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(2000));
break; break;
case StoreMoveStep.BOX_H_InOutBack: case StoreMoveStep.BOX_H_InOutBack:
Thread.Sleep(200); Thread.Sleep(200);
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutToP1); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_InOutToP1);
LogInfo( "" + MoveInfo.MoveType + ":进出轴到待机点P1["+ Config.InOutAxis_P1_Position + "],关闭舱门"); LogInfo( "" + MoveInfo.MoveType + ":进出轴到待机点P1["+ Config.InOutAxis_P1_Position + "]");
ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed); ACAxisMove(Config.InOut_Axis, Config.InOutAxis_P1_Position, Config.InOutAxis_P1_Speed);
CloseDoor();
//判断是否记录比较原图
FeatureOriginal(StoreManager.PlanName_OpenDoor);
break; break;
case StoreMoveStep.BOX_H_InOutToP1: case StoreMoveStep.BOX_H_InOutToP1:
//如果此时轴三还在报警,需要提示错误并等待 //如果此时轴三还在报警,需要提示错误并等待
...@@ -312,9 +344,11 @@ namespace OnlineStore.DeviceLibrary ...@@ -312,9 +344,11 @@ namespace OnlineStore.DeviceLibrary
} }
} }
//复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴 //复位和回原点要等轴3进出轴ORG亮了以后才能返回其他轴
LogInfo( "" + MoveInfo.MoveType + ": 压紧轴,旋转轴,上下轴开始 原点返回"); LogInfo( "" + MoveInfo.MoveType + ": 压紧轴,旋转轴,上下轴开始 原点返回,关闭舱门");
MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000)); MoveInfo.WaitList.Add(WaitResultInfo.WaitTime(1000));
MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_OtherAxisBack); MoveInfo.NextMoveStep(StoreMoveStep.BOX_H_OtherAxisBack);
CloseDoor();
MoveInfo.TimeOutSeconds = 100; MoveInfo.TimeOutSeconds = 100;
if (UseCompress_Axis) if (UseCompress_Axis)
{ {
...@@ -337,6 +371,9 @@ namespace OnlineStore.DeviceLibrary ...@@ -337,6 +371,9 @@ namespace OnlineStore.DeviceLibrary
Thread.Sleep(500); Thread.Sleep(500);
ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed); ACAxisMove(Config.Middle_Axis, Config.MiddleAxis_P1_Position, Config.MiddleAxis_P1_Speed);
//判断是否记录比较原图
FeatureOriginal(StoreManager.PlanName_CloseDoor);
break; break;
case StoreMoveStep.BOX_H_MiddleAxisToP1: case StoreMoveStep.BOX_H_MiddleAxisToP1:
LogInfo( "" + MoveInfo.MoveType + "完成"); LogInfo( "" + MoveInfo.MoveType + "完成");
......
...@@ -274,7 +274,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -274,7 +274,7 @@ namespace OnlineStore.DeviceLibrary
TimeSpan checkSpan = DateTime.Now - LastCheckTime; TimeSpan checkSpan = DateTime.Now - LastCheckTime;
if (checkSpan.TotalSeconds > 1) if (checkSpan.TotalSeconds > 1)
{ {
bool result = VisionComp(out Dictionary<string, bool> exist); bool result = VisionComp(wait.PlanName, out Dictionary<string, bool> exist);
if (result && wait.IoValue.Equals(IO_VALUE.HIGH)) if (result && wait.IoValue.Equals(IO_VALUE.HIGH))
{ {
wait.IsEnd = true; wait.IsEnd = true;
...@@ -443,7 +443,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -443,7 +443,7 @@ namespace OnlineStore.DeviceLibrary
if (alarmType.Equals(StoreAlarmType.None) && String.IsNullOrEmpty(WarnMsg)) if (alarmType.Equals(StoreAlarmType.None) && String.IsNullOrEmpty(WarnMsg))
{ {
//如果视觉检测有料,也可以入库 //如果视觉检测有料,也可以入库
if (VisionComp(out Dictionary<string, bool> exist)) if (VisionComp(StoreManager.PlanName_CloseDoor, out Dictionary<string, bool> exist))
{ {
string imgName = SaveComName(); string imgName = SaveComName();
InStoreLog("入库:门口检测信号不亮,但视觉识别有料盘,认为有料:"+imgName); InStoreLog("入库:门口检测信号不亮,但视觉识别有料盘,认为有料:"+imgName);
...@@ -851,17 +851,17 @@ namespace OnlineStore.DeviceLibrary ...@@ -851,17 +851,17 @@ namespace OnlineStore.DeviceLibrary
{ {
MoveInfo.NextMoveStep(StoreMoveStep.SO_22_WaitNoTray); MoveInfo.NextMoveStep(StoreMoveStep.SO_22_WaitNoTray);
MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Door, IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitIO(IO_Type.TrayCheck_Door, IO_VALUE.LOW));
OpenDoor(); OpenDoor(true);
} }
else if (MoveInfo.MoveStep == StoreMoveStep.SO_22_WaitNoTray) else if (MoveInfo.MoveStep == StoreMoveStep.SO_22_WaitNoTray)
{ {
if (IOValue(IO_Type.TrayCheck_Door).Equals(IO_VALUE.LOW) && VisionComp(out Dictionary<string, bool> exist)) if (IOValue(IO_Type.TrayCheck_Door).Equals(IO_VALUE.LOW) && VisionComp(StoreManager.PlanName_OpenDoor, out Dictionary<string, bool> exist))
{ {
string fileName = SaveComName( ); string fileName = SaveComName( );
LogUtil.error(Name + "_" + MoveInfo.MoveStep + "_" + MoveInfo.MoveParam.PosInfo.PosId + "出库:门口检测信号无料,但视觉识别有料盘:"+fileName+",重新等待仓门口无料"); LogUtil.error(Name + "_" + MoveInfo.MoveStep + "_" + MoveInfo.MoveParam.PosInfo.PosId + "出库:门口检测信号无料,但视觉识别有料盘:"+fileName+",重新等待仓门口无料");
MoveInfo.NextMoveStep(StoreMoveStep.SO_22_WaitNoTray); MoveInfo.NextMoveStep(StoreMoveStep.SO_22_WaitNoTray);
MoveInfo.WaitList.Add(WaitResultInfo.WaitVisionComp( IO_VALUE.LOW)); MoveInfo.WaitList.Add(WaitResultInfo.WaitVisionComp(StoreManager.PlanName_OpenDoor, IO_VALUE.LOW));
} }
else else
{ {
...@@ -898,7 +898,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -898,7 +898,7 @@ namespace OnlineStore.DeviceLibrary
{ {
SO_28_GoBack(); SO_28_GoBack();
} }
else if (VisionComp(out Dictionary<string, bool> exist)) else if (VisionComp(StoreManager.PlanName_CloseDoor, out Dictionary<string, bool> exist))
{ {
SO_28_GoBack(); SO_28_GoBack();
} }
...@@ -963,7 +963,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -963,7 +963,7 @@ namespace OnlineStore.DeviceLibrary
string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosInfo.PosId : ""; string posId = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosInfo.PosId : "";
string barcode = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosInfo.barcode : ""; string barcode = MoveInfo.MoveParam != null ? MoveInfo.MoveParam.PosInfo.barcode : "";
//再次检测 //再次检测
bool hasReel = VisionComp(out Dictionary<string, bool> exist); bool hasReel = VisionComp(StoreManager.PlanName_CloseDoor, out Dictionary<string, bool> exist);
if (hasReel) if (hasReel)
{ {
string fileName = SaveComName(); string fileName = SaveComName();
......
...@@ -148,7 +148,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -148,7 +148,7 @@ namespace OnlineStore.DeviceLibrary
{ {
vision = new Asa.Camera.VisionLib(vfile, "RollingLogFileAppender"); vision = new Asa.Camera.VisionLib(vfile, "RollingLogFileAppender");
vision.Open(); vision.Open();
vision.FeatureOriginal(); //vision.FeatureOriginal();
LogUtil.info(" InitVisionLib [" + vfile + "] [RollingLogFileAppender] 完成"); LogUtil.info(" InitVisionLib [" + vfile + "] [RollingLogFileAppender] 完成");
} }
} }
......
...@@ -352,9 +352,10 @@ namespace OnlineStore.DeviceLibrary ...@@ -352,9 +352,10 @@ namespace OnlineStore.DeviceLibrary
return msg; return msg;
} }
public static string PlanName_CloseDoor = "DoorClosed";
} public static string PlanName_OpenDoor = "DoorOpening";
public class ResultData }
public class ResultData
{ {
//{"code":0,"msg":"ok","data":"7"} //{"code":0,"msg":"ok","data":"7"}
public int code { get; set; } public int code { get; set; }
......
...@@ -219,13 +219,14 @@ namespace OnlineStore.DeviceLibrary ...@@ -219,13 +219,14 @@ namespace OnlineStore.DeviceLibrary
/// 等待有料 /// 等待有料
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public static WaitResultInfo WaitVisionComp(IO_VALUE value) public static WaitResultInfo WaitVisionComp(string planName, IO_VALUE value)
{ {
WaitResultInfo wait = new WaitResultInfo(); WaitResultInfo wait = new WaitResultInfo();
wait.CanWhileMoveCount = 0; wait.CanWhileMoveCount = 0;
wait.WaitType = 8; wait.WaitType = 8;
wait.IoValue = value; wait.IoValue = value;
wait.IsEnd = false; wait.IsEnd = false;
wait.PlanName = planName;
return wait; return wait;
} }
...@@ -340,7 +341,7 @@ namespace OnlineStore.DeviceLibrary ...@@ -340,7 +341,7 @@ namespace OnlineStore.DeviceLibrary
public int AxisOrgValue = 0; public int AxisOrgValue = 0;
public string PlanName = "";
public DateTime LastHasOrgTime = DateTime.Now; public DateTime LastHasOrgTime = DateTime.Now;
......
{"CodeOrder":"HalconOnly","Halcon":{"CodeType":"All","Zoom1DCode":1.5,"Zoom2DCode":1.5},"EyemLib":{"CodeType":"All","BlockSize":11,"RangeC":5,"SymbolMin":128,"SymbolMax":215},"Region":[{"CameraName":"monitor","RegionName":"LeftTop","X":76,"Y":172,"Width":416,"Height":479,"Ratio":0.5},{"CameraName":"monitor","RegionName":"RightTop","X":555,"Y":170,"Width":286,"Height":202,"Ratio":0.4},{"CameraName":"monitor","RegionName":"name1","X":526,"Y":424,"Width":640,"Height":375,"Ratio":0.7}],"HIKIPCamera":[{"Name":"monitor","IP":"192.168.1.64","Port":"8000","User":"admin","Pwd":"qwert2asdfg"},{"Name":"photoCamera","IP":"192.168.1.121","Port":"8000","User":"admin","Pwd":"admin123"}]}
\ No newline at end of file \ No newline at end of file
{"CodeOrder":"HalconOnly","Halcon":{"CodeType":"All","Zoom1DCode":1.5,"Zoom2DCode":1.5},"EyemLib":{"CodeType":"All","BlockSize":11,"RangeC":5,"SymbolMin":128,"SymbolMax":215},"Region":{"monitor":{"Aplan":[{"RegionName":"one","X":133,"Y":167,"Width":396,"Height":456,"Ratio":0.5},{"RegionName":"two","X":555,"Y":170,"Width":390,"Height":450,"Ratio":0.6}],"Bplan":[{"RegionName":"one","X":927,"Y":278,"Width":396,"Height":456,"Ratio":0.5},{"RegionName":"two","X":1353,"Y":276,"Width":396,"Height":456,"Ratio":0.5}],"C计划":[{"RegionName":"name1","X":122,"Y":147,"Width":100,"Height":100,"Ratio":0.4}]},"monitor2":{"key1":[{"RegionName":"one","X":967,"Y":288,"Width":396,"Height":456,"Ratio":0.5}]}},"HIKIPCamera":[{"Name":"monitor","IP":"192.168.10.64","User":"admin","Password":"qwert2asdfg","Port":8000}]}
\ No newline at end of file \ No newline at end of file
...@@ -44,10 +44,11 @@ namespace OnlineStore.ACSingleStore ...@@ -44,10 +44,11 @@ namespace OnlineStore.ACSingleStore
tabPage2.Text = " 设备[" + boxBean.CID + "]状态 "; tabPage2.Text = " 设备[" + boxBean.CID + "]状态 ";
this.Opacity = 1; this.Opacity = 1;
DebugStatus(false); DebugStatus(false);
cmbPlanName.SelectedIndex = 0;
bool isShow = (!String.IsNullOrEmpty(boxBean.Config.Camera_Name)); bool isShow = (!String.IsNullOrEmpty(boxBean.Config.Camera_Name));
btnFcomp.Visible = isShow; btnFcomp.Visible = isShow;
btnForig.Visible = isShow; btnForig.Visible = isShow;
groupcom.Visible = isShow;
btnImgSave.Visible = (!String.IsNullOrEmpty(boxBean.Config.PhotoCamera_Name)); btnImgSave.Visible = (!String.IsNullOrEmpty(boxBean.Config.PhotoCamera_Name));
LoadOk = true; LoadOk = true;
} }
...@@ -1144,21 +1145,31 @@ namespace OnlineStore.ACSingleStore ...@@ -1144,21 +1145,31 @@ namespace OnlineStore.ACSingleStore
private void btnForig_Click(object sender, EventArgs e) private void btnForig_Click(object sender, EventArgs e)
{ {
string planName = StoreManager.PlanName_CloseDoor;
if (cmbPlanName.SelectedIndex.Equals(1))
{
planName = StoreManager.PlanName_OpenDoor;
}
if (StoreManager.Store.vision != null) if (StoreManager.Store.vision != null)
{ {
string date = boxBean.Name+DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "-Original"; string date = boxBean.Name+DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "-Original-"+planName;
StoreManager.Store.vision.SaveImage(boxBean.Config.Camera_Name, Application.StartupPath + @"\image\" , date, ImageFormat.Png); StoreManager.Store.vision.SaveImage(boxBean.Config.Camera_Name, Application.StartupPath + @"\image\" , date, ImageFormat.Png);
StoreManager.Store.vision.FeatureOriginal(boxBean.Config.Camera_Name); StoreManager.Store.vision.FeatureOriginal(boxBean.Config.Camera_Name,planName);
} }
} }
private void btnFcomp_Click(object sender, EventArgs e) private void btnFcomp_Click(object sender, EventArgs e)
{ {
string planName = StoreManager.PlanName_CloseDoor;
if (cmbPlanName.SelectedIndex.Equals(1))
{
planName = StoreManager.PlanName_OpenDoor;
}
if (StoreManager.Store.vision != null) if (StoreManager.Store.vision != null)
{ {
string date = boxBean.Name+DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "-Comp"; string date = boxBean.Name+DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + "-Comp-"+planName;
StoreManager.Store.vision.SaveImage(boxBean.Config.Camera_Name,Application.StartupPath + @"\image\" , date, ImageFormat.Png); StoreManager.Store.vision.SaveImage(boxBean.Config.Camera_Name,Application.StartupPath + @"\image\" , date, ImageFormat.Png);
bool result = boxBean.VisionComp( out Dictionary<string, bool> exist); bool result = boxBean.VisionComp(planName, out Dictionary<string, bool> exist);
string str = result ? "有料\r\n" : "无料\r\n"; string str = result ? "有料\r\n" : "无料\r\n";
if (exist != null) if (exist != null)
{ {
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!