private void BTN_CHECK_EDGE_DETECTION_Click(object sender, EventArgs e) { if (RDO_RECT_TYPE_DIA.Checked == true) { //MessageBox.Show("Under Construction.", "Comming Soon.", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { bool bool_horizontal_dir = RDO_RECT_TYPE_HOR.Checked == true ? true : false; uc_tunning_view.VIEW_Set_Clear_DispObject(); CMeasurePairRct rcProc = new CMeasurePairRct(); int param_01_PeakCandidate = Convert.ToInt32(TXT_RECT_CANDIDATE_COUNT.Value); Bitmap bmp = uc_tunning_view.GetDisplay_Bmp(); pm.SetImage(bmp); List <PointF> listPeak = pm.GetPeakListSorted(param_01_PeakCandidate, bool_horizontal_dir); _ToUI_DrawPeakAnalysis(listPeak, bool_horizontal_dir); uc_tunning_view.Refresh(); } }
public bool SetParam(CFigureManager fm, Bitmap bmp) { MAIN_IMAGE = bmp.Clone() as Bitmap; uc_tunning_view.BOOL_DRAW_CROSS = false; uc_tunning_view.SetDisplay(MAIN_IMAGE); uc_tunning_view.VIEW_SET_Mag_Origin(); int imageW = 0; int imageH = 0; byte[] rawImage = Computer.HC_CONV_Bmp2Raw(bmp.Clone() as Bitmap, ref imageW, ref imageH); List <Bitmap> listImageRect = new List <Bitmap>(); List <string> listFilesRect = new List <string>(); this.fm = fm; //******************************************************************************************** // For Rect //******************************************************************************************** CHK_RECT_USE_AUTO_PEAK_DETECTION.Checked = true; CHK_RECT_USE_AUTO_PEAK_DETECTION_CheckedChanged(null, EventArgs.Empty); for (int i = 0; i < this.fm.COUNT_PAIR_RCT; i++) { CMeasurePairRct single = this.fm.list_pair_Rct.ElementAt(i); RectangleF rcFST = single.rc_FST.ToRectangleF(); RectangleF rcSCD = single.rc_SCD.ToRectangleF(); RectangleF rcMerged = CRect.GetMergedRect(rcFST, rcSCD); uc_tunning_view.DrawRect(rcMerged, Color.Red); uc_tunning_view.DrawString(single.NICKNAME, (int)(rcMerged.X), (int)(rcMerged.Y - 10), 10, Color.Yellow); byte[] rawCrop = Computer.HC_CropImage(rawImage, imageW, imageH, rcMerged); int rcW = (int)rcMerged.Width; int rcH = (int)rcMerged.Height; Bitmap bmpCrop = Computer.HC_CONV_Byte2Bmp(rawCrop, rcW, rcH); listFilesRect.Add(single.NICKNAME); listImageRect.Add(bmpCrop); } uc_thumb_nail_rect.LoadImages(listImageRect.ToArray(), listFilesRect); uc_tunning_view.fm.RC_FOCUS = new RectangleF(-1, -1, -1, -1); uc_tunning_view.fm.param_ptrn.RC_SEARCH_RGN = new RectangleF(-1, -1, -1, -1); return(true); }
private CMeasurePairRct _FromUI_GetParameters_Rect() { int nValue = 0; CMeasurePairRct single = new CMeasurePairRct(); single.param_03_bool_Use_AutoDetection = CHK_RECT_USE_AUTO_PEAK_DETECTION.Checked; // edge detection target for each rectangles int.TryParse(TXT_RECT_EDGE_DETEC_TARGET_INDEX_FST.Text, out nValue); single.param_04_peakTargetIndex_fst = nValue; int.TryParse(TXT_RECT_EDGE_DETEC_TARGET_INDEX_SCD.Text, out nValue); single.param_05_peakTargetIndex_scd = nValue; // candidate count int.TryParse(TXT_RECT_CANDIDATE_COUNT.Text, out nValue); single.param_06_peakCandidate = nValue; return(single); }
private void uc_thumb_nail_rect_DoubleClick(object sender, EventArgs e) { int nIndex = uc_thumb_nail_rect.FocusedItem.Index; Bitmap bmp = uc_thumb_nail_rect.GetImageOriginal(nIndex); CMeasurePairRct single = fm.ElementAt_PairRct(nIndex); /***/ if (single.param_01_rc_type == IFX_RECT_TYPE.DIR_HOR) { RDO_RECT_TYPE_HOR.Checked = true; } else if (single.param_01_rc_type == IFX_RECT_TYPE.DIR_VER) { RDO_RECT_TYPE_VER.Checked = true; } else if (single.param_01_rc_type == IFX_RECT_TYPE.DIR_DIA) { RDO_RECT_TYPE_DIA.Checked = true; } // 01 Target Info TXT_RECT_SELECTED_INDEX.Text = nIndex.ToString("N0"); TXT_RECT_SELECTED_FIGURE.Text = single.NICKNAME; CHK_RECT_USE_AUTO_PEAK_DETECTION.Checked = single.param_03_bool_Use_AutoDetection; CHK_RECT_USE_AUTO_PEAK_DETECTION_CheckedChanged(null, EventArgs.Empty); // 02 edge detection type { 0 ~ 6 } TXT_RECT_EDGE_DETEC_TARGET_INDEX_FST.Text = single.param_04_peakTargetIndex_fst.ToString("N0"); TXT_RECT_EDGE_DETEC_TARGET_INDEX_SCD.Text = single.param_05_peakTargetIndex_scd.ToString("N0"); CB_RECT_TARGET_INDEX_FST.SelectedIndex = single.param_04_peakTargetIndex_fst; CB_RECT_TARGET_INDEX_SCD.SelectedIndex = single.param_05_peakTargetIndex_scd; // update UI from the first line data uc_tunning_view.VIEW_Set_Clear_DispObject(); uc_tunning_view.SetDisplay(bmp); uc_tunning_view.VIEW_SET_Mag_Origin(); }
private void BTN_PARAM_WRITE_Click(object sender, EventArgs e) { if (MessageBox.Show("Selected Figure Parameters Will Be Overwritten.\nDo You Want To Update?", "UPDATE CHECK", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.No) { return; } // empty operation exception 171017 if (fm.COUNT_PAIR_RCT == 0) { return; } CMeasurePairRct[] arrRect = fm.ToArray_PairRct(); string strTarget = TXT_RECT_SELECTED_FIGURE.Text; int element = 0; Int32.TryParse(TXT_RECT_SELECTED_INDEX.Text, out element); CMeasurePairRct single = _FromUI_GetParameters_Rect(); if (arrRect[element].NICKNAME == strTarget) { arrRect[element].param_03_bool_Use_AutoDetection /***/ = single.param_03_bool_Use_AutoDetection; arrRect[element].param_04_peakTargetIndex_fst /******/ = single.param_04_peakTargetIndex_fst; arrRect[element].param_05_peakTargetIndex_scd /******/ = single.param_05_peakTargetIndex_scd; arrRect[element].param_06_peakCandidate /************/ = single.param_06_peakCandidate; arrRect[element].param_07_windowSize /***************/ = single.param_07_windowSize; } this.fm.list_pair_Rct = arrRect.ToList(); MessageBox.Show("Update Finished", "JOB FINISHED", MessageBoxButtons.OK, MessageBoxIcon.Information); eventDele_FinishTunning(); }