【发布时间】:2015-09-14 07:35:29
【问题描述】:
我在从图像中提取文本时遇到问题。
问题是,在提取 .jpg 图像时,除了一些包含 172641 % 之类的数字的特定小数值之外,所有数据都可以执行。
实际上图像中的值为17.2641,但提取后,特定小数点未读取并得到结果为172641。
请帮我获取包括小数点在内的所有值。
我使用下面的代码:
try
{
IEnumerator files = Directory.GetFiles(directoryPath).GetEnumerator();
while (files.MoveNext())
{
string ls_Outputpath = System.Reflection.Assembly.GetExecutingAssembly().Location.Substring(0, System.Reflection.Assembly.GetExecutingAssembly().Location.LastIndexOf("\\")) + "\\Output\\Result_" + DateTime.Now.ToString("ddMMyyyyhhmmss") + ".txt";
string fileExtension = Path.GetExtension(Convert.ToString(files.Current));
string fileName = Convert.ToString(files.Current).Replace(fileExtension, string.Empty).Trim();
string strImageTextFileName = string.Empty;
if (fileExtension == ".jpg" || fileExtension == ".JPG" || fileExtension == ".Jpeg")
{
gs_Filename = fileName;
try
{
MODI.Document md = new MODI.Document();
md.Create(Convert.ToString(files.Current));
try
{
md.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
}
catch (Exception ex)
{
Log(ex.Message.ToString(), gsLogFileName);
}
MODI.Image image = (MODI.Image)md.Images[0];
FileStream createFile =
new FileStream(fileName + ".txt", FileMode.CreateNew);
strImageTextFileName = Path.GetFileName(fileName);
StreamWriter writeFile = new StreamWriter(createFile);
writeFile.Write(image.Layout.Text);
writeFile.Close();
}
catch (Exception ex)
{
Log("Exception in Extracting text from Image :" + ex.Message.ToString(), gsLogFileName);
}
}
}
}
catch (Exception ex)
{
}
【问题讨论】:
-
听起来像是 OCR 软件问题而不是编程问题。