调用微软MODI进行OCR图片文字识别有关问题
调用微软MODI进行OCR图片文字识别问题
现在我可以进行OCR图片文字识别了,但是有一个问题:当我选择的识别区域较小时(经测试识别区域内少于8个汉字或数字时),将不能进行识别了,我想要的效果是:即便选择一个汉字或数字也可以进行识别。求代码~
附上我的关键代码:
------解决方案--------------------
那个是国际时差吧 应该和程序设定的默认国际时间有关
不行你就给时间加八小时 再计算呗
------解决方案--------------------
这个根本不存在识别个数的限制
后台绘制个矩形,为识别指定区域即可
这样即使是个半个汉字也能识别
现在我可以进行OCR图片文字识别了,但是有一个问题:当我选择的识别区域较小时(经测试识别区域内少于8个汉字或数字时),将不能进行识别了,我想要的效果是:即便选择一个汉字或数字也可以进行识别。求代码~
附上我的关键代码:
- C# code
//创建一个临时文件 string strFileName =string.Format("{0:yyyy_MM_dd_HH_mm_ss_ffff}", DateTime.Now) + ".tif"; try { //位图对象保存到一个TIFF文件 Console.WriteLine(m_obj.PixelFormat.ToString()); m_obj.Save(strFileName, ImageFormat.Tiff); m_obj.Dispose(); //实例化MODI.Document对象 MODI.Document md = new MODI.Document(); md.Create(strFileName); //运行OCR md.OCR(MODI.MiLANGUAGES.miLANG_CHINESE_SIMPLIFIED, true, true); //定义要识别的语言种类 //这个字符串将包含文本 string strText = String.Empty; //获得第一个图片 MODI.Image image = (MODI.Image)md.Images[0]; //获取布局 MODI.Layout layout = image.Layout; //遍历文字 for (int j = 0; j < layout.Words.Count; j++) { //得到文字 MODI.Word word = (MODI.Word)layout.Words[j]; // 添加一个空格来分隔文字 if (strText.Length > 0) { strText += " "; } //添加文字 strText += word.Text; } //关闭MODI.Document对象 md.Close(false); //创建对话框显示文本的文本识别 ShowText st = new ShowText(); //该对话框的文本 st.m_strOCRText = strText; //显示的对话框 st.ShowDialog(); } catch (Exception) { MessageBox.Show("识别区域不低于9个字符!", "提示"); //我要的是即便一个字符也可以识别 } try { //删除临时文件 File.Delete(strFileName); } catch{ }
------解决方案--------------------
那个是国际时差吧 应该和程序设定的默认国际时间有关
不行你就给时间加八小时 再计算呗
------解决方案--------------------
这个根本不存在识别个数的限制
后台绘制个矩形,为识别指定区域即可
这样即使是个半个汉字也能识别