diff --git a/TetraParkOCR/Form1.cs b/TetraParkOCR/Form1.cs
index c8875d1..779de84 100644
--- a/TetraParkOCR/Form1.cs
+++ b/TetraParkOCR/Form1.cs
@@ -84,7 +84,7 @@ namespace TetraPackOCR
///
/// 共印依据 QSV Design, Layers, Colours,产品规格
///
- string Sequence, QSV, Colours, ProductStandard, ord;
+ string QSV, Colours, ProductStandard;
///
/// 幅数 包材宽 梯度 X距离 Y距离
///
@@ -99,12 +99,9 @@ namespace TetraPackOCR
///
string SaveImageFileOCR = System.IO.Path.GetPathRoot(Application.ExecutablePath) + "SaveImage\\OCR";//ocr存图
string SaveImageFileDET = System.IO.Path.GetPathRoot(Application.ExecutablePath) + "SaveImage\\Det";//ocr存图
- private CogJobManager myJobManager1;
- private CogJob myJob1;
+ private CogJobManager myJobManagerDET;
+ private CogJob myJobDET;
- private string[] verocr = new string[20];
-
- bool Coprinted_ordeFlag = false; //是否为共印订单旗帜
bool PlcContinueFlag = false; //PLC状态旗帜
int mMatchingStr = 0;//接收当前OCR拍照位置
@@ -112,9 +109,7 @@ namespace TetraPackOCR
///
/// 相机对象 1和2
///
- IDevice m_dev_cam_ocr, m_dev_cam1;
- List DeviceList;
- public string ImagePixelFormat = ""; //图像格式设置
+ IDevice m_dev_cam_ocr, m_dev_cam_det;
delegate void DetResultDelegate(Object Sender, CogJobManagerActionEventArgs e);
delegate void OcrResultDelegate(Bitmap bmp);
@@ -140,37 +135,35 @@ namespace TetraPackOCR
btn_OrderNum.Enabled = false;
btn_OrderNum.BackColor = Color.LightGray;
log.Info("软件正在加载...");
- this.Enabled = false;
+ Enabled = false;
Action action = (() =>
{
InitializeCamerOCR();
- InitializeCamer2();
+ InitializeCamerDET();
InitializePaddleOCR();
try
{
- myJobManager1 = CogSerializer.LoadObjectFromFile(vppdetFile) as CogJobManager;
+ myJobManagerDET = CogSerializer.LoadObjectFromFile(vppdetFile) as CogJobManager;
}
catch (Exception ex)
{
log.Error("定位VPP文件加载失败,请检查文件路径是否正确:" + ex.Message);
- myJobManager1 = null;
+ myJobManagerDET = null;
}
-
-
+ log.Info("定位VPP文件加载完成");
InitializeCC24();
log.Info("模型文件加载完成");
- this.check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png");
- this.ttls_SystemStatusShow.Visible = true;
- this.ttls_CamStatusShow.Visible = true;
- this.Invoke(new Action(() =>
+ check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png");
+ ttls_SystemStatusShow.Visible = true;
+ ttls_CamStatusShow.Visible = true;
+ Invoke(new Action(() =>
{
- this.btn_manualOcr.Enabled = true;
- this.btn_manualDet.Enabled = true;
+ btn_manualOcr.Enabled = true;
+ btn_manualDet.Enabled = true;
check_Autorun.Enabled = true;
- //btn_StarDet_manual.Enabled = true;
- this.Enabled = true;
+ Enabled = true;
btn_OrderNum.Enabled = true;
btn_OrderNum.BackColor = Color.DeepSkyBlue;
}));
@@ -195,12 +188,12 @@ namespace TetraPackOCR
TaskFactory tskFactory = new TaskFactory();
tskFactory.ContinueWhenAll(tsk.ToArray(), FlashFormView =>
{
- if (myJobManager1 != null)
+ if (myJobManagerDET != null)
{
- myJob1 = myJobManager1.Job(0);
+ myJobDET = myJobManagerDET.Job(0);
// 注册结果队列事件
- myJobManager1.UserResultAvailable += new CogJobManager.CogUserResultAvailableEventHandler(DetResult);
+ myJobManagerDET.UserResultAvailable += new CogJobManager.CogUserResultAvailableEventHandler(DetResult);
}
});
}
@@ -223,8 +216,8 @@ namespace TetraPackOCR
ClossCam();
//// 注销结果队列事件
- myJobManager1.UserResultAvailable -= new CogJobManager.CogUserResultAvailableEventHandler(DetResult);
- myJobManager1.Shutdown();
+ myJobManagerDET.UserResultAvailable -= new CogJobManager.CogUserResultAvailableEventHandler(DetResult);
+ myJobManagerDET.Shutdown();
CloseCC24();
}
@@ -268,7 +261,7 @@ namespace TetraPackOCR
try
{
camOCROpened = false;
- DeviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机
+ List deviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机
m_dev_cam_ocr = Enumerator.GetDeviceByKey("Machine Vision:CK21686DAK00001");//通过"设备厂商名:设备序列号"获取
if (m_dev_cam_ocr == null)
{
@@ -284,16 +277,12 @@ namespace TetraPackOCR
MessageBox.Show("OCR相机打开失败");
}
// 设置图像格式
- // set PixelFormat
using (IEnumParameter p = m_dev_cam_ocr.ParameterCollection[ParametrizeNameSet.ImagePixelFormat])
{
- ImagePixelFormat = "BayerRG8";
- //ImagePixelFormat = "Mono8";
- p.SetValue(ImagePixelFormat);
+ p.SetValue("BayerRG8");
}
// 设置曝光
-
using (IFloatParameter p = m_dev_cam_ocr.ParameterCollection[ParametrizeNameSet.ExposureTime])
{
p.SetValue(800000);
@@ -335,19 +324,19 @@ namespace TetraPackOCR
}
}
private bool camOCROpened = false;
- private bool cam1Opened = false;
+ private bool camDETOpened = false;
#endregion
#region 相机1事件响应
void m_dev_cam_ocr_ConnectionLost(object sender, EventArgs e)
{
- MessageBox.Show(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机断线");
+ log.Error(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机断线");
}
void m_dev_cam_ocr_CameraClosed(object sender, EventArgs e)
{
- MessageBox.Show(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机关闭");
+ log.Error(m_dev_cam_ocr.DeviceInfo.Key + "OCR相机关闭");
}
void m_dev_cam_ocr_CameraOpened(object sender, EventArgs e)
@@ -369,91 +358,80 @@ namespace TetraPackOCR
{
try
{
- Bitmap bmp = null;
-
- bmp = e.GrabResult.ToBitmap(true);
-
- OCRResult(bmp);
+ OCRResult(e.GrabResult.ToBitmap(true));
}
catch (Exception ex)
{
- MessageBox.Show(ex.ToString());
+ log.Error(ex.ToString());
}
}
#endregion
#region 相机2 定义为定位相机
- private void InitializeCamer2()
+ private void InitializeCamerDET()
{
try
{
- cam1Opened = false;
- DeviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机
+ camDETOpened = false;
+ List deviceList = Enumerator.EnumerateDevices(); //发现设备,搜索所有大华相机
- //m_dev_cam1 = Enumerator.GetDeviceByIndex(1);//通过索引获取
- m_dev_cam1 = Enumerator.GetDeviceByKey("Machine Vision:BK27185BAK00038");//通过"设备厂商名:设备序列号"获取
- //m_dev_cam1 = Enumerator.GetDeviceByGigeIP("192.168.10.1");//通过IP地址获取
-
- if (m_dev_cam1 == null)
+ m_dev_cam_det = Enumerator.GetDeviceByKey("Machine Vision:BK27185BAK00038");//通过"设备厂商名:设备序列号"获取
+ if (m_dev_cam_det == null)
{
log.Error("未发现OCR相机,请检查相机连接");
return;
}
- m_dev_cam1.CameraOpened += m_dev1_CameraOpened;
- m_dev_cam1.CameraClosed += m_dev1_CameraClosed;
- m_dev_cam1.ConnectionLost += m_dev1_ConnectionLost;
+ m_dev_cam_det.CameraOpened += m_dev_cam_det_CameraOpened;
+ m_dev_cam_det.CameraClosed += m_dev_cam_det_CameraClosed;
+ m_dev_cam_det.ConnectionLost += m_dev_cam_det_ConnectionLost;
- if (!m_dev_cam1.Open())
+ if (!m_dev_cam_det.Open())
{
MessageBox.Show("定位相机打开失败");
}
// 设置图像格式
- // set PixelFormat
- using (IEnumParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.ImagePixelFormat])
+ using (IEnumParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.ImagePixelFormat])
{
- ImagePixelFormat = "Mono";
- p.SetValue(ImagePixelFormat);
+ p.SetValue("Mono");
}
// 设置曝光
-
- using (IFloatParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.ExposureTime])
+ using (IFloatParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.ExposureTime])
{
p.SetValue(30000);
}
// 设置增益
-
- using (IFloatParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.GainRaw])
+ using (IFloatParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.GainRaw])
{
p.SetValue(1.0);
}
- using (IEnumParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.AcquisitionMode])
+ using (IEnumParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.AcquisitionMode])
{
p.SetValue("Continuous");
}
- using (IEnumParameter p = m_dev_cam1.ParameterCollection[ParametrizeNameSet.TriggerMode])
+ using (IEnumParameter p = m_dev_cam_det.ParameterCollection[ParametrizeNameSet.TriggerMode])
{
p.SetValue("On");
}
- m_dev_cam1.StreamGrabber.ImageGrabbed += StreamGrabber_ImageGrabbed_1;
- m_dev_cam1.StreamGrabber.GrabStarted += StreamGrabber_GrabStarted_1;
+ m_dev_cam_det.StreamGrabber.ImageGrabbed += StreamGrabber_ImageGrabbed_DET;
+ m_dev_cam_det.StreamGrabber.GrabStarted += StreamGrabber_GrabStarted_DET;
// 打开Software Trigger
// Set Software Trigger
- m_dev_cam1.TriggerSet.Open(TriggerSourceEnum.Software);
- if (!m_dev_cam1.GrabUsingGrabLoopThread())
+ m_dev_cam_det.TriggerSet.Open(TriggerSourceEnum.Software);
+ if (!m_dev_cam_det.GrabUsingGrabLoopThread())
{
// 开启采集失败
log.Error("开启采集失败");
return;
}
- cam1Opened = true;
+ camDETOpened = true;
log.Info("定位相机加载完毕");
}
catch (Exception ex)
{
- cam1Opened = false;
+ camDETOpened = false;
log.Error("定位相机加载失败");
- m_dev_cam1 = null;
+ m_dev_cam_det = null;
}
}
@@ -461,22 +439,22 @@ namespace TetraPackOCR
#region 相机2事件响应
- void m_dev1_ConnectionLost(object sender, EventArgs e)
+ void m_dev_cam_det_ConnectionLost(object sender, EventArgs e)
{
- MessageBox.Show(m_dev_cam1.DeviceInfo.Key + "定位相机断线");
+ log.Error(m_dev_cam_det.DeviceInfo.Key + "定位相机断线");
}
- void m_dev1_CameraClosed(object sender, EventArgs e)
+ void m_dev_cam_det_CameraClosed(object sender, EventArgs e)
{
- MessageBox.Show(m_dev_cam1.DeviceInfo.Key + "定位相机关闭");
+ log.Error(m_dev_cam_det.DeviceInfo.Key + "定位相机关闭");
}
- void m_dev1_CameraOpened(object sender, EventArgs e)
+ void m_dev_cam_det_CameraOpened(object sender, EventArgs e)
{
}
- void StreamGrabber_GrabStarted_1(object sender, EventArgs e)
+ void StreamGrabber_GrabStarted_DET(object sender, EventArgs e)
{
log.Info("定位相机启动码流");
}
@@ -486,7 +464,7 @@ namespace TetraPackOCR
///
///
///
- private void StreamGrabber_ImageGrabbed_1(object sender, GrabbedEventArgs e)
+ private void StreamGrabber_ImageGrabbed_DET(object sender, GrabbedEventArgs e)
{
try
{
@@ -517,19 +495,18 @@ namespace TetraPackOCR
CogImage8Grey cogimage = new CogImage8Grey(bmp);
//把图像给job中convertImagetool
- CogToolGroup myTG = myJob1.VisionTool as CogToolGroup;
+ CogToolGroup myTG = myJobDET.VisionTool as CogToolGroup;
CogToolBlock myTB = myTG.Tools["CogToolBlock1"] as CogToolBlock;
CogImageConvertTool cogImageConvert = myTB.Tools["CogImageConvertTool1"] as CogImageConvertTool;
cogImageConvert.InputImage = cogimage;
//运行jobmanager
- myJobManager1.Run();
-
+ myJobManagerDET.Run();
}
catch (Exception ex)
{
EnableStartDetect();
- MessageBox.Show(ex.ToString());
+ log.Error(ex.ToString());
}
}
@@ -561,14 +538,14 @@ namespace TetraPackOCR
m_dev_cam_ocr.Dispose();
m_dev_cam_ocr = null;
}
- if (m_dev_cam1 != null)
+ if (m_dev_cam_det != null)
{
- m_dev_cam1.CameraOpened -= m_dev1_CameraOpened;
- m_dev_cam1.CameraClosed -= m_dev1_CameraClosed;
- m_dev_cam1.ConnectionLost -= m_dev1_ConnectionLost;
- m_dev_cam1.ShutdownGrab();
- m_dev_cam1.Dispose();
- m_dev_cam1 = null;
+ m_dev_cam_det.CameraOpened -= m_dev_cam_det_CameraOpened;
+ m_dev_cam_det.CameraClosed -= m_dev_cam_det_CameraClosed;
+ m_dev_cam_det.ConnectionLost -= m_dev_cam_det_ConnectionLost;
+ m_dev_cam_det.ShutdownGrab();
+ m_dev_cam_det.Dispose();
+ m_dev_cam_det = null;
}
}
#endregion
@@ -625,26 +602,24 @@ namespace TetraPackOCR
{
if (check_Autorun.Checked)
{
- //CloseCC24();
log.Info("PC断开PLC连接,只可进行本地操作。");
- this.check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\OFF.png");
- this.panel_Manual.Visible = true;
- this.btn_StarDet_manual.Enabled = false;
+ check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\OFF.png");
+ panel_Manual.Visible = true;
+ btn_StarDet_manual.Enabled = false;
btn_StarDet_manual.BackColor = Color.LightGray;
- this.ttls_PCLStatusShow.Visible = false;
+ ttls_PCLStatusShow.Visible = false;
}
else if (!check_Autorun.Checked)
{
- //InitializeCC24();
log.Info("PC加载PLC已完成");
- this.check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png");
- this.panel_Manual.Visible = false;
+ check_Autorun.BackgroundImage = Image.FromFile(Application.StartupPath + "\\logo_image\\ON.png");
+ panel_Manual.Visible = false;
if (orderLoaded)
{
- this.btn_StarDet_manual.Enabled = true;
+ btn_StarDet_manual.Enabled = true;
btn_StarDet_manual.BackColor = Color.LimeGreen;
}
- this.ttls_PCLStatusShow.Visible = true;
+ ttls_PCLStatusShow.Visible = true;
}
}
private bool orderLoaded = false;
@@ -670,28 +645,28 @@ namespace TetraPackOCR
ocrTextDesign.Clear();
ClearData();
ClearDataShow();
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "未启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Gray;
- this.lbl_L2_verOcrRs.Text = "未启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Gray;
- this.lbl_L3_verOcrRs.Text = "未启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Gray;
- this.lbl_L4_verOcrRs.Text = "未启用";
- this.lbl_L4_verOcrRs.BackColor = Color.Gray;
- this.lbl_L5_verOcrRs.Text = "未启用";
- this.lbl_L5_verOcrRs.BackColor = Color.Gray;
- this.lbl_L6_verOcrRs.Text = "未启用";
- this.lbl_L6_verOcrRs.BackColor = Color.Gray;
- this.lbl_L7_verOcrRs.Text = "未启用";
- this.lbl_L7_verOcrRs.BackColor = Color.Gray;
- this.lbl_L8_verOcrRs.Text = "未启用";
- this.lbl_L8_verOcrRs.BackColor = Color.Gray;
- this.lbl_L9_verOcrRs.Text = "未启用";
- this.lbl_L9_verOcrRs.BackColor = Color.Gray;
+ lbl_L1_verOcrRs.Text = "未启用";
+ lbl_L1_verOcrRs.BackColor = Color.Gray;
+ lbl_L2_verOcrRs.Text = "未启用";
+ lbl_L2_verOcrRs.BackColor = Color.Gray;
+ lbl_L3_verOcrRs.Text = "未启用";
+ lbl_L3_verOcrRs.BackColor = Color.Gray;
+ lbl_L4_verOcrRs.Text = "未启用";
+ lbl_L4_verOcrRs.BackColor = Color.Gray;
+ lbl_L5_verOcrRs.Text = "未启用";
+ lbl_L5_verOcrRs.BackColor = Color.Gray;
+ lbl_L6_verOcrRs.Text = "未启用";
+ lbl_L6_verOcrRs.BackColor = Color.Gray;
+ lbl_L7_verOcrRs.Text = "未启用";
+ lbl_L7_verOcrRs.BackColor = Color.Gray;
+ lbl_L8_verOcrRs.Text = "未启用";
+ lbl_L8_verOcrRs.BackColor = Color.Gray;
+ lbl_L9_verOcrRs.Text = "未启用";
+ lbl_L9_verOcrRs.BackColor = Color.Gray;
}));
- this.btn_OrderNum.Enabled = false;
+ btn_OrderNum.Enabled = false;
btn_OrderNum.BackColor = Color.LightGray;
//通过订单号获取表格中需要的值
string order = txt_OrderNum.Text;
@@ -709,7 +684,6 @@ namespace TetraPackOCR
laststr = order;
if (laststr == "C")
{
- Coprinted_ordeFlag = true;
log.Info("当前订单号为:" + order);
//读取表格内容
ExcelPackage.License.SetNonCommercialOrganization("My Noncommercial organization");
@@ -726,13 +700,12 @@ namespace TetraPackOCR
{
if (sheet1.Cells[i, 3].Value.ToString() == order)
{
- Sequence = sheet1.Cells[i, 2].Value.ToString();
QSV = sheet1.Cells[i, 4].Value.ToString();
- this.lbl_QSVShow.Text = QSV;
+ lbl_QSVShow.Text = QSV;
log.Info("当前订单QSV:" + QSV);
NumberOfLanes = Convert.ToInt32(sheet1.Cells[i, 5].Value.ToString());
log.Info("当前订单Number Of Lanes:" + NumberOfLanes);
- this.lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString();
+ lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString();
FirstLayers = sheet1.Cells[i, 8].Value.ToString();
Colours = sheet1.Cells[i, 9].Value.ToString();
@@ -773,13 +746,13 @@ namespace TetraPackOCR
if (qsv == QSV)
{
ProductStandard = sheet2.Cells[j, 2].Value.ToString();
- this.lbl_ProductStandardShow.Text = ProductStandard;
+ lbl_ProductStandardShow.Text = ProductStandard;
log.Info("当前订单产品编号:" + ProductStandard);
width = Convert.ToDouble(sheet2.Cells[j, 3].Value.ToString());
- this.lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString();
+ lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString();
log.Info("当前订单幅宽:" + width);
Gradient = Convert.ToDouble(sheet2.Cells[j, 4].Value.ToString());
- this.lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString();
+ lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString();
log.Info("当前订单梯度:" + Gradient);
break;
}
@@ -803,10 +776,10 @@ namespace TetraPackOCR
string[] X = x_y[0].Split(':');
string[] Y = x_y[1].Split(':');
DistX = Convert.ToDouble(X[1].Replace("mm", ""));
- this.lbl_DistXShow.Text = X[1].Replace("mm", "");
+ lbl_DistXShow.Text = X[1].Replace("mm", "");
log.Info("当前订单X偏移:" + DistX);
DistY = Convert.ToDouble(Y[1].Replace("mm", ""));
- this.lbl_DistYShow.Text = Y[1].Replace("mm", "");
+ lbl_DistYShow.Text = Y[1].Replace("mm", "");
log.Info("当前订单Y偏移:" + DistY);
break;
}
@@ -832,7 +805,6 @@ namespace TetraPackOCR
}
else
{
- Coprinted_ordeFlag = false;
log.Info("当前订单号为:" + order);
//读取表格内容
ExcelPackage.License.SetNonCommercialOrganization("My Noncommercial organization");
@@ -850,11 +822,11 @@ namespace TetraPackOCR
if (sheet1.Cells[i, 3].Value.ToString() == order)
{
QSV = sheet1.Cells[i, 4].Value.ToString();
- this.lbl_QSVShow.Text = QSV;
+ lbl_QSVShow.Text = QSV;
log.Info("当前订单QSV:" + QSV);
NumberOfLanes = Convert.ToInt32(sheet1.Cells[i, 5].Value.ToString());
log.Info("当前订单Number Of Lanes:" + NumberOfLanes);
- this.lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString();
+ lbl_NOFShow.Text = sheet1.Cells[i, 5].Value.ToString();
//获取字符 并显示在界面还需处理先预留在这
string design = sheet1.Cells[i, 7].Value.ToString();
@@ -882,13 +854,13 @@ namespace TetraPackOCR
if (qsv == QSV)
{
ProductStandard = sheet2.Cells[j, 2].Value.ToString();
- this.lbl_ProductStandardShow.Text = ProductStandard;
+ lbl_ProductStandardShow.Text = ProductStandard;
log.Info("当前订单产品编号:" + ProductStandard);
width = Convert.ToDouble(sheet2.Cells[j, 3].Value.ToString());
- this.lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString();
+ lbl_widthShow.Text = sheet2.Cells[j, 3].Value.ToString();
log.Info("当前订单幅宽:" + width);
Gradient = Convert.ToDouble(sheet2.Cells[j, 4].Value.ToString());
- this.lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString();
+ lbl_GradientShow.Text = sheet2.Cells[j, 4].Value.ToString();
log.Info("当前订单梯度:" + Gradient);
break;
}
@@ -912,10 +884,10 @@ namespace TetraPackOCR
string[] X = x_y[0].Split(':');
string[] Y = x_y[1].Split(':');
DistX = Convert.ToDouble(X[1].Replace("mm", ""));
- this.lbl_DistXShow.Text = X[1].Replace("mm", "");
+ lbl_DistXShow.Text = X[1].Replace("mm", "");
log.Info("当前订单X偏移:" + DistX);
DistY = Convert.ToDouble(Y[1].Replace("mm", ""));
- this.lbl_DistYShow.Text = Y[1].Replace("mm", "");
+ lbl_DistYShow.Text = Y[1].Replace("mm", "");
log.Info("当前订单Y偏移:" + DistY);
break;
}
@@ -942,7 +914,7 @@ namespace TetraPackOCR
///判断当前Lans决定结果显示数量
InitLableColumn();
- this.btn_OrderNum.Enabled = true;
+ btn_OrderNum.Enabled = true;
btn_OrderNum.BackColor = Color.DeepSkyBlue;
orderLoaded = true;
btn_StarDet_manual.Enabled = true;
@@ -951,7 +923,7 @@ namespace TetraPackOCR
catch (Exception ex)
{
log.Error("数据解析错误,请检查订单号是否正确");
- this.btn_OrderNum.Enabled = true;
+ btn_OrderNum.Enabled = true;
btn_OrderNum.BackColor = Color.DeepSkyBlue;
}
}
@@ -960,139 +932,139 @@ namespace TetraPackOCR
switch (NumberOfLanes)
{
case 1:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 2:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 3:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L3_verOcrRs.Text = "启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L3_verOcrRs.Text = "启用";
+ lbl_L3_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 4:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L3_verOcrRs.Text = "启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L4_verOcrRs.Text = "启用";
- this.lbl_L4_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L3_verOcrRs.Text = "启用";
+ lbl_L3_verOcrRs.BackColor = Color.Yellow;
+ lbl_L4_verOcrRs.Text = "启用";
+ lbl_L4_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 5:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L3_verOcrRs.Text = "启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L4_verOcrRs.Text = "启用";
- this.lbl_L4_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L5_verOcrRs.Text = "启用";
- this.lbl_L5_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L3_verOcrRs.Text = "启用";
+ lbl_L3_verOcrRs.BackColor = Color.Yellow;
+ lbl_L4_verOcrRs.Text = "启用";
+ lbl_L4_verOcrRs.BackColor = Color.Yellow;
+ lbl_L5_verOcrRs.Text = "启用";
+ lbl_L5_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 6:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L3_verOcrRs.Text = "启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L4_verOcrRs.Text = "启用";
- this.lbl_L4_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L5_verOcrRs.Text = "启用";
- this.lbl_L5_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L6_verOcrRs.Text = "启用";
- this.lbl_L6_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L3_verOcrRs.Text = "启用";
+ lbl_L3_verOcrRs.BackColor = Color.Yellow;
+ lbl_L4_verOcrRs.Text = "启用";
+ lbl_L4_verOcrRs.BackColor = Color.Yellow;
+ lbl_L5_verOcrRs.Text = "启用";
+ lbl_L5_verOcrRs.BackColor = Color.Yellow;
+ lbl_L6_verOcrRs.Text = "启用";
+ lbl_L6_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 7:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L3_verOcrRs.Text = "启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L4_verOcrRs.Text = "启用";
- this.lbl_L4_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L5_verOcrRs.Text = "启用";
- this.lbl_L5_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L6_verOcrRs.Text = "启用";
- this.lbl_L6_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L7_verOcrRs.Text = "启用";
- this.lbl_L7_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L3_verOcrRs.Text = "启用";
+ lbl_L3_verOcrRs.BackColor = Color.Yellow;
+ lbl_L4_verOcrRs.Text = "启用";
+ lbl_L4_verOcrRs.BackColor = Color.Yellow;
+ lbl_L5_verOcrRs.Text = "启用";
+ lbl_L5_verOcrRs.BackColor = Color.Yellow;
+ lbl_L6_verOcrRs.Text = "启用";
+ lbl_L6_verOcrRs.BackColor = Color.Yellow;
+ lbl_L7_verOcrRs.Text = "启用";
+ lbl_L7_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 8:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L3_verOcrRs.Text = "启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L4_verOcrRs.Text = "启用";
- this.lbl_L4_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L5_verOcrRs.Text = "启用";
- this.lbl_L5_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L6_verOcrRs.Text = "启用";
- this.lbl_L6_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L7_verOcrRs.Text = "启用";
- this.lbl_L7_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L8_verOcrRs.Text = "启用";
- this.lbl_L8_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L3_verOcrRs.Text = "启用";
+ lbl_L3_verOcrRs.BackColor = Color.Yellow;
+ lbl_L4_verOcrRs.Text = "启用";
+ lbl_L4_verOcrRs.BackColor = Color.Yellow;
+ lbl_L5_verOcrRs.Text = "启用";
+ lbl_L5_verOcrRs.BackColor = Color.Yellow;
+ lbl_L6_verOcrRs.Text = "启用";
+ lbl_L6_verOcrRs.BackColor = Color.Yellow;
+ lbl_L7_verOcrRs.Text = "启用";
+ lbl_L7_verOcrRs.BackColor = Color.Yellow;
+ lbl_L8_verOcrRs.Text = "启用";
+ lbl_L8_verOcrRs.BackColor = Color.Yellow;
}));
break;
case 9:
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
- this.lbl_L1_verOcrRs.Text = "启用";
- this.lbl_L1_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L2_verOcrRs.Text = "启用";
- this.lbl_L2_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L3_verOcrRs.Text = "启用";
- this.lbl_L3_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L4_verOcrRs.Text = "启用";
- this.lbl_L4_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L5_verOcrRs.Text = "启用";
- this.lbl_L5_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L6_verOcrRs.Text = "启用";
- this.lbl_L6_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L7_verOcrRs.Text = "启用";
- this.lbl_L7_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L8_verOcrRs.Text = "启用";
- this.lbl_L8_verOcrRs.BackColor = Color.Yellow;
- this.lbl_L9_verOcrRs.Text = "启用";
- this.lbl_L9_verOcrRs.BackColor = Color.Yellow;
+ lbl_L1_verOcrRs.Text = "启用";
+ lbl_L1_verOcrRs.BackColor = Color.Yellow;
+ lbl_L2_verOcrRs.Text = "启用";
+ lbl_L2_verOcrRs.BackColor = Color.Yellow;
+ lbl_L3_verOcrRs.Text = "启用";
+ lbl_L3_verOcrRs.BackColor = Color.Yellow;
+ lbl_L4_verOcrRs.Text = "启用";
+ lbl_L4_verOcrRs.BackColor = Color.Yellow;
+ lbl_L5_verOcrRs.Text = "启用";
+ lbl_L5_verOcrRs.BackColor = Color.Yellow;
+ lbl_L6_verOcrRs.Text = "启用";
+ lbl_L6_verOcrRs.BackColor = Color.Yellow;
+ lbl_L7_verOcrRs.Text = "启用";
+ lbl_L7_verOcrRs.BackColor = Color.Yellow;
+ lbl_L8_verOcrRs.Text = "启用";
+ lbl_L8_verOcrRs.BackColor = Color.Yellow;
+ lbl_L9_verOcrRs.Text = "启用";
+ lbl_L9_verOcrRs.BackColor = Color.Yellow;
}));
break;
}
@@ -1114,13 +1086,13 @@ namespace TetraPackOCR
///
private void btn_manualDet_Click(object sender, EventArgs e)
{
- m_dev_cam1.ExecuteSoftwareTrigger();
+ m_dev_cam_det.ExecuteSoftwareTrigger();
log.Info("手动触发定位");
}
private bool autorunFlag = false;
private void btn_StarDet_manual_Click(object sender, EventArgs e)
{
- if (camOCROpened == false || cam1Opened == false)
+ if (camOCROpened == false || camDETOpened == false)
{
MessageBox.Show("相机未打开,无法进行检测,请检查相机连接及状态!");
return;
@@ -1139,12 +1111,13 @@ namespace TetraPackOCR
InitLableColumn();
+ ocrAcc.Clear();
autorunFlag = check_Autorun.Checked;
btn_StarDet_manual.Enabled = false;
button1.Enabled = true;
btn_StarDet_manual.BackColor = Color.LightGray;
button1.BackColor = Color.LimeGreen;
- m_dev_cam1?.ExecuteSoftwareTrigger();
+ m_dev_cam_det?.ExecuteSoftwareTrigger();
list_Log.Clear();
log.Info("手动触发开始");
}
@@ -1171,8 +1144,7 @@ namespace TetraPackOCR
///
void ClearData()
{
-
- QSV = null; Colours = null; ProductStandard = null; ord = null;
+ QSV = null; Colours = null; ProductStandard = null;
NumberOfLanes = 0; width = 0; Gradient = 0; DistX = 0; DistY = 0;
}
///
@@ -1193,7 +1165,7 @@ namespace TetraPackOCR
{
if (e.KeyCode == Keys.Enter)
{
- this.btn_OrderNum_Click(sender, e);
+ btn_OrderNum_Click(sender, e);
}
}
#endregion
@@ -1209,15 +1181,14 @@ namespace TetraPackOCR
///
private void DetCamTriger()
{
- log.Info("PLC触发定位相机,正在拍照计算...");
try
{
- m_dev_cam1.ExecuteSoftwareTrigger();
-
+ log.Info("PLC触发定位相机,正在拍照计算...");
+ m_dev_cam_det?.ExecuteSoftwareTrigger();
}
catch (Exception ex)
{
- MessageBox.Show(ex.Message);
+ log.Error(ex.Message);
}
}
#endregion
@@ -1230,14 +1201,14 @@ namespace TetraPackOCR
///
private void OcrCamTriger()
{
- log.Info("PLC触发OCR相机,正在拍照计算...");
try
{
+ log.Info("PLC触发OCR相机,正在拍照计算...");
m_dev_cam_ocr.ExecuteSoftwareTrigger();
}
catch (Exception ex)
{
- MessageBox.Show(ex.Message);
+ log.Error(ex.Message);
}
}
#endregion
@@ -1257,11 +1228,11 @@ namespace TetraPackOCR
return;
}
//清除上次的结果显示
- this.lbl_XShow.Text = "";
- this.lbl_YShow.Text = "";
- this.lbl_RShow.Text = "";
+ lbl_XShow.Text = "";
+ lbl_YShow.Text = "";
+ lbl_RShow.Text = "";
- CogToolGroup myTG = myJob1.VisionTool as CogToolGroup;
+ CogToolGroup myTG = myJobDET.VisionTool as CogToolGroup;
CogToolBlock myTB = myTG.Tools["CogToolBlock1"] as CogToolBlock;
CogPMAlignTool myPMA = myTB.Tools["CogPMAlignTool2"] as CogPMAlignTool;
CogImageConvertTool myImage = myTB.Tools["CogImageConvertTool1"] as CogImageConvertTool;
@@ -1277,16 +1248,16 @@ namespace TetraPackOCR
double yy = myPMA.Results[i].GetPose().TranslationY;
double rr = CogMisc.RadToDeg(myPMA.Results[i].GetPose().Rotation);
- this.lbl_XShow.Text = xx.ToString();
- this.lbl_YShow.Text = yy.ToString();
- this.lbl_RShow.Text = rr.ToString();
+ lbl_XShow.Text = xx.ToString();
+ lbl_YShow.Text = yy.ToString();
+ lbl_RShow.Text = rr.ToString();
log.Info($"x:{xx} y:{yy} degree:{rr}");
//画模型轮廓
CogCompositeShape shape = myPMA.Results[i].CreateResultGraphics(CogPMAlignResultGraphicConstants.MatchFeatures);
CogCompositeShape shape1 = myPMA.Results[i].CreateResultGraphics(CogPMAlignResultGraphicConstants.CoordinateAxes);
- this.Location_Display.InteractiveGraphics.Add(shape, "", false);
- this.Location_Display.InteractiveGraphics.Add(shape1, "", false);
+ Location_Display.InteractiveGraphics.Add(shape, "", false);
+ Location_Display.InteractiveGraphics.Add(shape1, "", false);
//画定位的十字点
CPMARunStatus.DrawPointMarker(xx, yy, CogMisc.DegToRad(rr), CogColorConstants.Orange, Location_Display, ".");
log.Info("定位计算已完成。");
@@ -1302,7 +1273,7 @@ namespace TetraPackOCR
{
EnableStartDetect();
log.Error(ex.Message + "未检测到K标志");
- if (this.check_Autorun.Checked == false)
+ if (check_Autorun.Checked == false)
{
byte[] datax = DataConverter.FloatToByte(0.0f, true);
cc24?.NotifyCamInspectionComplete(0, datax);
@@ -1345,7 +1316,6 @@ namespace TetraPackOCR
{
i = Array.IndexOf(yy, yy.Max());
}
-
}
else
{
@@ -1361,7 +1331,6 @@ namespace TetraPackOCR
}
//找出保留元素中Y值最大的
i = Array.IndexOf(yy, yy.Max());
-
}
return i;
}
@@ -1385,7 +1354,6 @@ namespace TetraPackOCR
row.Add(points[j]);
}
}
-
rows.Add(row);
}
@@ -1399,9 +1367,7 @@ namespace TetraPackOCR
if (!sortedPoints.Contains(point))
{
sortedPoints.Add(point);
-
}
-
}
}
@@ -1442,7 +1408,6 @@ namespace TetraPackOCR
Directory.CreateDirectory(SaveImageFileOCR + '\\' + strtimef);
}
string strTime = System.DateTime.Now.ToString("yyyyMMddHHmmss");
- //string strtimef = DateTime.Now.ToString("yyyy-MM-dd");
FileStream fs = new FileStream(SaveImageFileOCR + '\\' + strtimef + '\\' + strTime + ".bmp", FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(bytes, 0, bytes.Length);
@@ -1451,7 +1416,6 @@ namespace TetraPackOCR
log.Info("OCR存图已完成");
CutPicture(SaveImageFileOCR + '\\' + strtimef + '\\' + strTime + ".bmp", 1000, 1800, 3800, 1600);
- //List temps = new List();
if (Engine == null)
{
log.Error("Engine未初始化");
@@ -1718,11 +1682,10 @@ namespace TetraPackOCR
void ShowTheLansRs(float mM, float s)
{
int mMnum = Convert.ToInt32(mM);
- //s = 1;//**************************************************************************************************注意
switch (mMnum)
{
case 1:
- this.lbl_L1_verOcrRs.BackColor = Color.Lime;
+ lbl_L1_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L1_verOcrRs.BackColor = Color.Red;
@@ -1733,11 +1696,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L1_verOcrRs.Text = s * 100 + "%";
+ lbl_L1_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 2:
- this.lbl_L2_verOcrRs.BackColor = Color.Lime;
+ lbl_L2_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L2_verOcrRs.BackColor = Color.Red;
@@ -1748,11 +1711,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L2_verOcrRs.Text = s * 100 + "%";
+ lbl_L2_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 3:
- this.lbl_L3_verOcrRs.BackColor = Color.Lime;
+ lbl_L3_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L3_verOcrRs.BackColor = Color.Red;
@@ -1763,11 +1726,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L3_verOcrRs.Text = s * 100 + "%";
+ lbl_L3_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 4:
- this.lbl_L4_verOcrRs.BackColor = Color.Lime;
+ lbl_L4_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L4_verOcrRs.BackColor = Color.Red;
@@ -1778,11 +1741,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L4_verOcrRs.Text = s * 100 + "%";
+ lbl_L4_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 5:
- this.lbl_L5_verOcrRs.BackColor = Color.Lime;
+ lbl_L5_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L5_verOcrRs.BackColor = Color.Red;
@@ -1793,11 +1756,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L5_verOcrRs.Text = s * 100 + "%";
+ lbl_L5_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 6:
- this.lbl_L6_verOcrRs.BackColor = Color.Lime;
+ lbl_L6_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L6_verOcrRs.BackColor = Color.Red;
@@ -1808,11 +1771,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L6_verOcrRs.Text = s * 100 + "%";
+ lbl_L6_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 7:
- this.lbl_L7_verOcrRs.BackColor = Color.Lime;
+ lbl_L7_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L7_verOcrRs.BackColor = Color.Red;
@@ -1823,11 +1786,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L7_verOcrRs.Text = s * 100 + "%";
+ lbl_L7_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 8:
- this.lbl_L8_verOcrRs.BackColor = Color.Lime;
+ lbl_L8_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L8_verOcrRs.BackColor = Color.Red;
@@ -1838,11 +1801,11 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L8_verOcrRs.Text = s * 100 + "%";
+ lbl_L8_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
case 9:
- this.lbl_L9_verOcrRs.BackColor = Color.Lime;
+ lbl_L9_verOcrRs.BackColor = Color.Lime;
if (s < 0.9)
{
lbl_L9_verOcrRs.BackColor = Color.Red;
@@ -1853,7 +1816,7 @@ namespace TetraPackOCR
s = 1;
}
ocrAcc.Add(s);
- this.lbl_L9_verOcrRs.Text = s * 100 + "%";
+ lbl_L9_verOcrRs.Text = s * 100 + "%";
log.Info("字符对比结果:当前第" + mMnum + "道的读取字符与验证字符相似度为" + s * 100 + "%");
break;
}
@@ -1884,7 +1847,7 @@ namespace TetraPackOCR
cc24.NotifyCamAcqEnable(0);
cc24.NotifyCamAcqEnable(1);
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
if (cc24.SignalState.PlcConnectionStatus)
{
@@ -1910,30 +1873,30 @@ namespace TetraPackOCR
private void CC24_NotifyCamAcqEnabled(int cameraIndex, bool isEnabled)
{
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
if (isEnabled)
{
- this.ttls_AcqEnableShow.Visible = true;
+ ttls_AcqEnableShow.Visible = true;
}
else
{
- this.ttls_AcqEnableShow.Visible = false;
+ ttls_AcqEnableShow.Visible = false;
}
}));
}
private void CC24_NotifyCamAcqDisabled(int cameraIndex, bool isEnabled)
{
- this.Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
if (isEnabled)
{
- this.ttls_AcqEnableShow.Visible = true;
+ ttls_AcqEnableShow.Visible = true;
}
else
{
- this.ttls_AcqEnableShow.Visible = false;
+ ttls_AcqEnableShow.Visible = false;
}
}));
@@ -1962,13 +1925,12 @@ namespace TetraPackOCR
return;
if (ocrAcc.Min() < 0.95)
{
- MessageBox.Show("当前检测中出现严重错误请注意!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
+ MessageBox.Show("当前检测中出现严重错误请注意!", Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else if (ocrAcc.Min() > 0.95 & ocrAcc.Min() < 1)
{
- MessageBox.Show("当前检测中出现可允许误差请注意!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show("当前检测中出现可允许误差请注意!", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
- ocrAcc.Clear();
}
}
#endregion
@@ -1983,14 +1945,11 @@ namespace TetraPackOCR
}
try
{
-
-
#region 接收到定位拍照信号
if (e.CameraIndex == 0)
{
DetCamTriger();
}
-
#endregion
#region 接收到OCR拍照信号
@@ -1999,7 +1958,6 @@ namespace TetraPackOCR
Thread.Sleep(1000);
OcrCamTriger();
}
-
#endregion
}
catch (Exception ex)
@@ -2034,8 +1992,6 @@ namespace TetraPackOCR
#region 通讯状态发生改变
private void CC24_PlcConnectionStatusChanged(object sender, CogNdmProtocolStatusChangedEventArgs e)
{
- // The event is raised from a non-GUI thread.
- // Invoke this function on the GUI thread.
if (InvokeRequired)
{
Invoke(new CogNdmProtocolStatusChangedEventHandler(CC24_PlcConnectionStatusChanged), new object[] { sender, e });
@@ -2238,7 +2194,7 @@ namespace TetraPackOCR
}
}
- if (this.check_Autorun.Checked == false)
+ if (check_Autorun.Checked == false)
{
List d = new List();
for (int i = 0; i < l.Count; i++)