public void CreateNccModel(string partName, System.Drawing.Bitmap srcImage, System.Drawing.Rectangle roi) { try { int partIndex = 0; NccModelName newModel = new NccModelName(); if (m_hTemplate != null) { m_hTemplate.Dispose(); } if (m_hoRectangle != null) { m_hoRectangle.Dispose(); } m_hoRectangle.GenRectangle1(1.0 * roi.Top, roi.Left, roi.Bottom, roi.Right); m_hoRectangle.AreaCenter(out m_roiRow, out m_roiColumn); if (srcImage != null) { HImage hImage = new HImage();//VisionProcess.Bitmap2HImage_8(srcImage); HImage hImageReduced; hImageReduced = hImage.ReduceDomain(m_hoRectangle); if (CheckPartModelIdIsExist(partName, ref partIndex)) { newModel.PartName = partName; newModel.ModelID = hImageReduced.CreateNccModel(m_iNumLevels, 0, 0, "auto", "use_polarity"); m_listPartModelID.RemoveAt(partIndex); } else { newModel.ModelID = hImageReduced.CreateNccModel("auto", 0, 0, "auto", "use_polarity"); newModel.PartName = partName; } m_listPartModelID.Add(newModel); } } catch { //LogFile.AppendText("CreateNccModel函数Exception:" + ex.Message.ToString()); //System.Windows.MessageBox.Show(ex.Message.ToString()); } }
public void LoadNccModel(string partName, string fileName) { try { int modelID = 0; if (CheckPartModelIdIsExist(partName, ref modelID)) { m_listPartModelID[modelID].ModelID.ReadNccModel(fileName); } else { NccModelName newModel = new NccModelName(); newModel.ModelID = new HNCCModel(fileName); newModel.PartName = partName; m_listPartModelID.Add(newModel); } } catch { //LogFile.AppendText("LoadNccModel函数Exception:" + ex.Message.ToString()); //System.Windows.MessageBox.Show("模板:" + fileName + "不存在," + ex.Message.ToString()); } }