public void detectNoWire(HObject ho_GrayImage, out HObject ho_Contours, out HObject ho_SelectedRegions, HTuple hv_Row, HTuple hv_Column, out HTuple hv_string, out HTuple hv_flag) { // Local iconic variables HObject ho_Rectangle_FoV, ho_ImageReduced_Fov; HObject ho_Characters, ho_ConnectedRegions, ho_RegionUnion; // Local control variables HTuple hv_Row_st = null, hv_Col_st = null; HTuple hv_Threshold = null, hv_Area = null, hv_Row3 = null; HTuple hv_Column3 = null; // Initialize local and output iconic variables HOperatorSet.GenEmptyObj(out ho_Contours); HOperatorSet.GenEmptyObj(out ho_SelectedRegions); HOperatorSet.GenEmptyObj(out ho_Rectangle_FoV); HOperatorSet.GenEmptyObj(out ho_ImageReduced_Fov); HOperatorSet.GenEmptyObj(out ho_Characters); HOperatorSet.GenEmptyObj(out ho_ConnectedRegions); HOperatorSet.GenEmptyObj(out ho_RegionUnion); hv_string = ""; hv_flag = 0; hv_Row_st = hv_Row.Clone(); hv_Col_st = hv_Column.Clone(); ho_Rectangle_FoV.Dispose(); HOperatorSet.GenRectangle1(out ho_Rectangle_FoV, hv_Row_st - 20, hv_Col_st - 20, hv_Row_st + 90, hv_Col_st + 70); ho_ImageReduced_Fov.Dispose(); HOperatorSet.ReduceDomain(ho_GrayImage, ho_Rectangle_FoV, out ho_ImageReduced_Fov ); //detect No Wire ho_Characters.Dispose(); HOperatorSet.CharThreshold(ho_ImageReduced_Fov, ho_Rectangle_FoV, out ho_Characters, 2, 90, out hv_Threshold); ho_ConnectedRegions.Dispose(); HOperatorSet.Connection(ho_Characters, out ho_ConnectedRegions); ho_SelectedRegions.Dispose(); HOperatorSet.SelectShape(ho_ConnectedRegions, out ho_SelectedRegions, "area", "and", 50, 99999); ho_RegionUnion.Dispose(); HOperatorSet.Union1(ho_SelectedRegions, out ho_RegionUnion); HOperatorSet.AreaCenter(ho_RegionUnion, out hv_Area, out hv_Row3, out hv_Column3); if ((int)(new HTuple(hv_Area.TupleLess(200))) != 0) { ho_Contours.Dispose(); HOperatorSet.GenContourRegionXld(ho_Rectangle_FoV, out ho_Contours, "border"); hv_string = "No Wire"; hv_flag = 3; //flag=3:NoWire } else { hv_flag = 1; } ho_Rectangle_FoV.Dispose(); ho_ImageReduced_Fov.Dispose(); ho_Characters.Dispose(); ho_ConnectedRegions.Dispose(); ho_RegionUnion.Dispose(); return; }