35:if (openFileDialog1.ShowDialog() == DialogResult.OK) 36:
37: { 38:
39: ImagePath = openFileDialog1.FileName; 40:
41: HD.ReadImage(hWindowControl1.HalconWindow, ImagePath); 42:
43: btnRecognitionNumber.Enabled = true; 44:
45: } 46: } 47:
48:privatevoid btnRecognitionNumber_Click(object sender, EventArgs e) 49: {
50: HD.NumberRecognition();
51: labNumber.Text = HD.hv_Class.ToString(); 52:
53: btnRecognitionNumber.Enabled = false; 54: } 55: } 56:
57://halcon导出的类
58:publicpartialclass HDevelopExport 59: {
60:public HTuple hv_ExpDefaultWinHandle; 61:
62: HObject ho_Image, ho_ImageR, ho_ImageG, ho_ImageB; 63: HObject ho_Regions, ho_Connection, ho_SelectedRegions; 64: 65:
66:// Local control variables
67: HTuple hv_OCRHandle, hv_Confidence; 68:public HTuple hv_Class; 69:
70:publicvoid InitHalcon() 71: {
72:// Default settings used in HDevelop
73: HOperatorSet.SetSystem(\, \); 74: } 75:
76:publicvoid ReadImage(HTuple Window,string ImagePath) 77: {
78: hv_ExpDefaultWinHandle = Window; 79:
80:// Initialize local and output iconic variables 81: HOperatorSet.GenEmptyObj(out ho_Image); 82:
83://读取图片
84: ho_Image.Dispose();
85: HOperatorSet.ReadImage(out ho_Image, ImagePath); 86: HOperatorSet.DispObj(ho_Image, hv_ExpDefaultWinHandle); 87: } 88:
89:publicvoid NumberRecognition() 90: {
91: HOperatorSet.GenEmptyObj(out ho_ImageR); 92: HOperatorSet.GenEmptyObj(out ho_ImageG); 93: HOperatorSet.GenEmptyObj(out ho_ImageB); 94: HOperatorSet.GenEmptyObj(out ho_Regions); 95: HOperatorSet.GenEmptyObj(out ho_Connection);
96: HOperatorSet.GenEmptyObj(out ho_SelectedRegions); 97://图像处理
98: ho_ImageR.Dispose(); 99: ho_ImageG.Dispose(); 100: ho_ImageB.Dispose();
101: HOperatorSet.Decompose3(ho_Image, out ho_ImageR, out ho_ImageG, out ho_ImageB 102: );
103: ho_Regions.Dispose();
104: HOperatorSet.Threshold(ho_ImageG, out ho_Regions, 0, 183);
105: ho_Connection.Dispose();
106: HOperatorSet.Connection(ho_Regions, out ho_Connection); 107:
108: ho_SelectedRegions.Dispose();
109: HOperatorSet.SelectShape(ho_Connection, out ho_SelectedRegions, \, \, 110: 1987.72, 7500); 111:
112: HOperatorSet.ReadOcrClassMlp(\, out hv_OCRHandle);
113: HOperatorSet.DoOcrMultiClassMlp(ho_SelectedRegions, ho_ImageG, hv_OCRHandle,
114:out hv_Class, out hv_Confidence);
115: 116:
117: ho_Image.Dispose(); 118: ho_ImageR.Dispose(); 119: ho_ImageG.Dispose(); 120: ho_ImageB.Dispose(); 121: ho_Regions.Dispose(); 122: ho_Connection.Dispose();
123: ho_SelectedRegions.Dispose(); 124:
125: } 126: 127: } 128: }
运行结果:
相关推荐: