关于图像识别,我们是否可以用一种编程语言来描述?
2013-10-23 13:24
218 查看
今天在整理照片时,发现有张图片上拍了一个表格,手动将内容抄写下来不太省力,于是想如果有一个软件可以抓取图像中的表格文字该多好。。。
从头设计一套软件完成这个工作量有点大,想到已经有了一些手写体识别的应用,只要在该技术基础上再增加一层接口,其实就能完成上述任务。
该接口要灵活,能够适应各种应用的文字识别,比如汉字手写体,英文手写体,宋体,以及上面的表格内容识别。因为一幅图像中的内容是千差万别的,我们可以借助一种图像描述原语(Image Description Primitives, IDP)来完成这些内容的区别。
假设有如下IDP:
Def "Table" p1; //表示该图像中有一个表格,声明为对象p1
Set Origin(x0,y0); //表示表格的左上角像素坐标
Set End(x1,y1); //表示表格的右下角像素坐标
p1.cols = [5-10]; //表示该表格的列数可能在5~10列之间
p1.rows = [100-200]; //行数在100~200行之间
Table tb = p1.GetContent(); //创建表格对象,从p1对象中抽取内容,以字符串形式存入tb中
//打印输出字符串
for(int i = 0;i<tb.rows;i++)
{
for(int j = 0;j<tb.cols;j++)
{
printf("%s\t",tb[i][j]);
}
printf("\r\n");
}
End p1; //销毁对象
除了表格对象,我们还可创建纯文本对象,手写体对象,英文手写体对象等,识别原语都封装到p1.GetContent()中。
只是一时想到的,不知有没有价值。本人只是对文字识别感兴趣,没有相关经验,一家之言,欢迎讨论。
从头设计一套软件完成这个工作量有点大,想到已经有了一些手写体识别的应用,只要在该技术基础上再增加一层接口,其实就能完成上述任务。
该接口要灵活,能够适应各种应用的文字识别,比如汉字手写体,英文手写体,宋体,以及上面的表格内容识别。因为一幅图像中的内容是千差万别的,我们可以借助一种图像描述原语(Image Description Primitives, IDP)来完成这些内容的区别。
假设有如下IDP:
Def "Table" p1; //表示该图像中有一个表格,声明为对象p1
Set Origin(x0,y0); //表示表格的左上角像素坐标
Set End(x1,y1); //表示表格的右下角像素坐标
p1.cols = [5-10]; //表示该表格的列数可能在5~10列之间
p1.rows = [100-200]; //行数在100~200行之间
Table tb = p1.GetContent(); //创建表格对象,从p1对象中抽取内容,以字符串形式存入tb中
//打印输出字符串
for(int i = 0;i<tb.rows;i++)
{
for(int j = 0;j<tb.cols;j++)
{
printf("%s\t",tb[i][j]);
}
printf("\r\n");
}
End p1; //销毁对象
除了表格对象,我们还可创建纯文本对象,手写体对象,英文手写体对象等,识别原语都封装到p1.GetContent()中。
只是一时想到的,不知有没有价值。本人只是对文字识别感兴趣,没有相关经验,一家之言,欢迎讨论。
相关文章推荐
- c/C++内存分配
- crontab中使用python无法执行
- c# 读取照片EXIF信息
- 源代码安装mplayer
- 【MFC】获取磁盘名称和遍历磁盘目录方法
- Struts2学习2--窗口验证---Struts2框架验证
- Java笔记(二十五)……其他常用API
- 超级强悍的PHP代码编辑器PHPstorm及配置 如何下载安装
- C++嵌套类
- C# 怎么获取域用户的密码是否过期
- 针对zend studio的格式化快捷键ctrl+shift+f无效
- JSON与JAVA数据的相互转换
- python学习视频
- C++: 二维数组作函数参数
- java获取本地系统变量 Properties 及 RunTime
- php调用mysql存储过程
- qt 自定义 lineedit
- C语言字符串的长度与大小
- java常用修饰符区别
- 密码学研究-基本知识