关于图像识别,我们是否可以用一种编程语言来描述?

今天在整理照片时,发现有张图片上拍了一个表格,手动将内容抄写下来不太省力,于是想如果有一个软件可以抓取图像中的表格文字该多好。。。

 

从头设计一套软件完成这个工作量有点大,想到已经有了一些手写体识别的应用,只要在该技术基础上再增加一层接口,其实就能完成上述任务。

 

该接口要灵活,能够适应各种应用的文字识别,比如汉字手写体,英文手写体,宋体,以及上面的表格内容识别。因为一幅图像中的内容是千差万别的,我们可以借助一种图像描述原语(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()中。

 

只是一时想到的,不知有没有价值。本人只是对文字识别感兴趣,没有相关经验,一家之言,欢迎讨论。

时间: 2024-11-02 03:14:09

关于图像识别,我们是否可以用一种编程语言来描述?的相关文章

假如女人是一种编程语言

计算机语言的实质其实是为了让人类能够更好与计算机打交道,最终结果都是通过编译成二进制代码或通过解释器转译成二进制代码的形式,由计算机来执行.而二进制就是0和1,假设1代表男人,0代表女人,那么瞬间就可以发现世界就变成了一台大"计算机".而爱情和情爱也可以看成是1和0组成的二进制机器码. 假如女人是一种编程语言,也许每个男人心中都有自己最喜欢的那一个吧?我认为女人可分两类,"面向过程"和"面向对象"."面向对象"的女人以寻找终身

IT公司中最流行的10种编程语言

导读:近日bcahub.shareittips.com作者Akash Padhiyar发布了一篇题为"10 Popular Programming Languages In IT Companies"的文章,译文如下 1. C语言 C语言是一种通用性的编程语言,由Dennis Ritchie于1969年-1973年间在贝尔实验室为Unix操作系统而开发. 尽管C语言是为实现操作系统软件而设计的,但它也广泛的应用于开发便携式应用软件. 代码: #include <stdio.h&g

12 种编程语言的起源故事

过去的几十年间,大量的编程语言被发明.被替换.被修改或组合在一起.每种语言总在争论中诞生,又在进化中消亡.而这些语言的的创造者,无一不是编程世界中的标志性人物,高举探索的旗帜不断前行.敬仰之情促使了这篇文章的诞生,这里收集并分享了这五十年来最成功.最流行的十二门编程语言和它们的创造者的故事. 1.Java 的起源 1990 年代初,任职于 Sun 公司的詹姆斯·高斯林等人开始开发 Java 语言的雏形,最初被命名为 Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包

史上最奇葩的5种编程语言,有的甚至模拟奶牛

[编者按]本文作者为 Deepak Karanth,主要介绍世上最怪异.最难用的5种编程语言.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 最难学编程语言有哪些?很多人都用过Java,C,C++之类的编程语言编写代码.再早几年,很多人会使用Pascal,Fortran,COBOL等编程.在学习这些语言的过程中,会遇到足够的挑战,让你抓狂.但是最终,当你投入足够的时间和精力之后,一切也变得顺利起来. 但是,也的确有些难到极致的编程语言.这些语言被称为极品编程语言.创造它们的原因通常是为

云计算时代最具潜力的12种编程语言

  我们需要新的编程语言?你可能认为并不需要,但是如果你去了解最近的趋势,你可能会改变你的想法.为什么Google采用GO和DART两种编程语言?为什么IBM.Cray.Red Hat分别创造了X10.Chapel和Ceylon三种语言? 未来,这10种编程语言(DART.Ceylon.GO.F#.OPA.Fantom.Zimbu.X10.Haxe.Chapel)是否能否撼动IT.新的编程语言是为了满足某些人的创作冲动还是新编程方式的技术演进? 回顾历史 如果你回头看看,我们可以看出新语言的爆发

四种编程语言中散列表的遍历顺序比较

测试方法 我们使用Ruby, JavaScript, Lua和Go这四种编程语言分别实现了以下步骤: 创建一个空的散列表H 以26个英文字母为key并按a-z的顺序插入H 遍历H并打印遍历的顺序,重复两次 从H删除"r", "p", "t", "k"这四个key 遍历H并打印遍历的顺序 将"r", "p", "t", "k"这四个key重新插入H

c++-不知道自己应该主攻哪种编程语言

问题描述 不知道自己应该主攻哪种编程语言 我是一名大学生,学的是数学专业,不过后来我们专业有两个方向,我选的是信息与计算科学专业,侧重于计算机.学了C,C++,C#,当然只是很浅显的部分,下学期要学习java......不知道大家有没有什么好的建议哎,不清楚哪种语言对以后工作的帮助更大,真的很困惑 解决方案 C比较基础,但是做小软件java用的多,好好学 解决方案二: 其实说真的的,没有什么语言是应不应该学的,主要还是看你的兴趣,编程这种东西,如果你纯属说做那个东西好赚钱才去做,而不是自己感兴趣

哪种编程语言最吃香?

每年的3.4月份是招聘和找工作的高峰期,在这波大潮中也不乏程序员的身影.但是目前各种编程语言和技术层出不穷,而作为一个合格的程序员,至少掌握了一种语言,但这是否就是企业所需要的呢? 我们可以从Indeed中一探究竟.Indeed是全球最大的招聘求职网站,每月拥有1亿独立用户,Indeed的服务跨越50个国家,支持26种语言,覆盖了产生全球94%GDP的区域. 在所有的编程语言和技术中,通过对比发现,下面的这15种在Indeed的招聘职位要求中出现次数最多: SQL Java HTML JavaS

12种编程语言激发云时代的潜力

通常情况下,我们需要的新编程语言嘛?你可能认为我们并不需要.但是如果你了解过最近的趋势,你想法可能会有所转变.为什么Google采用了GO和DART两种编程语言呢?为什么IBM.Cray.Red Hat分别创造了X10.Chapel和Ceylon三种语言呢? 在未来,这10种编程语言(DART.Ceylon.GO.F#.OPA.Fantom.Zimbu.X10.Haxe.Chapel)是否能否改变IT.新的编程语言是为了满足某些人的创作冲动还是新编程方式的技术演进,我们又需要做些什么呢? 回顾历