发明名称 实现数码相机文字提取和自动翻译功能的方法
摘要 本发明涉及一种实现数码相机文字提取和自动翻译功能的方法,该方法是通过对文字的拍摄,生成图片,并通过图像处理技术从中提取出文字,并生成文本文件;再用翻译算法把这段文字翻译成中文并显示在LCD上。具体实施步骤如下:步骤一:在菜单中按相应项,把相机设置成翻译模式;步骤二:对文字进行拍照;步骤三:相机自动用文字提取算法进行文字提取,并生成文本文件;步骤四:相机自动利用现有的翻译算法对文字进行翻译;步骤五:将翻译完的结果显示在LCD上。本发明可以直接利用现有的数码相机硬件资源,无需附加任何硬件成本,使其具有文字提取和自动翻译的功能,能够给用户带来极大的便利。
申请公布号 CN101562694A 申请公布日期 2009.10.21
申请号 CN200910069027.5 申请日期 2009.05.26
申请人 天津三星光电子有限公司 发明人 王真;郑龙周
分类号 H04N5/225(2006.01)I;G06K9/20(2006.01)I 主分类号 H04N5/225(2006.01)I
代理机构 天津市三利专利商标代理有限公司 代理人 刘英兰
主权项 1、一种实现数码相机文字提取和自动翻译功能的方法,其特征在于实施步骤如下:步骤一:在菜单中按相应项,把相机设置成翻译模式;步骤二:对文字进行拍照;步骤三:相机自动用文字提取算法进行文字提取,并生成文本文件;所述文字提取算法如下:首先,对文字进行拍摄,通常图片中包括文字和背景两色;(1)要把彩色图像进行灰度化处理;根据心理学研究得出的人类色彩感光特性,并考虑计算的速度,采用以下公式,按从左到右,从上到下的顺序对每个像素点进行灰度化处理:Y=(229×R+587×G+114×B+500)/1000;其中,R、G、B分别是这个像素点的R、G、B值;这样就把彩色图像转化为灰度图像;(2)对得到的灰度图像进行二值化处理;首先确定一个阈值,灰度值大于这个阈值的点灰度值全部置为255,灰度值小于这个阈值的点灰度值全部置为0;这个阈值α通过如下公式得到:α=所有像素点灰度之和/像素点个数;然后按从左到右,从上到下的顺序对图像的每个像素点进行扫描,当该点灰度值Y≥α时,Y=255;当Y<α时,Y=0;(3)比较Y值为0和Y值为255的像素点的个数,个数多的为背景点集合,个数少的为文字点集合;如果背景点灰度为255,则置背景点灰度为0,文字点灰度为255;保证文字点灰度始终为255;(4)对得到的二值化图片进行文字提取;提取的方法是采用如下算法:(4.1)设一标志变量i,并置为0,对图片进行逐行扫描,若这一行没有灰度值为255的点,查看标志变量,标志变量为0,则扫描下一行;为1,则记录此行号hi,并置标志变量为0;若有灰度值为255的点,查看标志变量;若为0,把行号记录下来,置标志变量为1;若标志变量为1则继续下一行扫描;(4.2)设一标志变量j,并置为0,对所有有记录的行,在顺次两行hi和hi-1之间进行列扫描;设当前扫描的列号为lk;若此列无灰度为255的点,检查j,若j==0,则扫描下一列;j==1,记录二元组(hi,lk),并令j=0;若有灰度值为255的点,检查j,若j=0,则记录二元组(hi-1,lk),并令j=1;若j==1,则继续扫描下一列;(4.3)步骤(4.2)中得到的顺次相邻两点(hi-1,lm),(hi,ln)所围成的矩形区域就是一个字母区域,所有这些区域就组成一个字母区域集合;因为在识别时需要用到预先存储在相机里的标准字母模板图片,且图片大小是20*20的,所以要把每一个字母区域规范化成一个20*20大小的区域;规范的方法为:设待规范的区域为m*n大小,对于其中一个像素点(i,j),令p=取整(i/m*20),q=取整(j/m*20);新建一个20*20图片,令新建图片中(p,q)点的灰度值为待规范的区域中(i,j)点的灰度值,新建图片中其余点灰度值全部置为0;这样就把m*n区域转换成20*20区域;(4.4)把转换后的图片和模板图片进行比对,进而识别出字母;比较的规则用下面的公式:<maths id="math0001" num="0001" ><math><![CDATA[ <mrow> <msub> <mi>L</mi> <mi>k</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>20</mn> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>20</mn> </munderover> <msup> <mrow> <mo>(</mo> <msubsup> <mi>r</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>k</mi> </msubsup> <mo>-</mo> <msub> <mi>t</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow>]]></math></maths>其中,ri,jk为第k个模板图片的(i,j)像素的灰度值,ti,j为当前待测图片的(i,j)像素的灰度值;取值最小的Lk,它对应的下标就为与被测图片同类的模板图片号;(4.5)通过步骤(4.4)就可以把图片中的所有字母识别出来,然后以ASCII码形式存成文本文件;步骤四:相机自动利用现有的翻译算法对文字进行翻译;步骤五:将翻译完的结果显示在LCD上。
地址 300385天津市西青区微电子工业区张衡道9号