失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > matlab 平滑曲线连接_MATLAB数字图像处理-识别广告牌上的文字

matlab 平滑曲线连接_MATLAB数字图像处理-识别广告牌上的文字

时间:2024-04-08 12:45:34

相关推荐

matlab 平滑曲线连接_MATLAB数字图像处理-识别广告牌上的文字

最近几年,图片中的文字识别应用越来越广泛,例如有道词典的拍照查单词,扫描全能王图片转文字文档等等。

那么这些图片文字到底是怎么被识别的呢?本文详细解释了从一张图片中识别文字的全过程,同时给出了MATLAB具体的代码实现。

1. 文字识别过程

此部分内容适合没有任何数字图像处理和编程经验的小白,请放心食用( ╯▽╰)。

首先,我们知道一张数字图像是由无数个像素点组成,如果是彩色图像的话,每个像素点就会有RGB三个数值,这样一张图片就可以由一个三维矩阵表示;如果是灰度图像,那么每个像素点则有一个灰度值(亮度,取值一般为0~255),所以一张黑白的图像可以用一个二维矩阵表示。

图1.1 物理图像到数字图像的映射

对图像的处理与识别就是对存储其信息的二维矩阵进行各种操作。

下面是一张从数字图像中识别文字的流程图:

图1.2 文字识别流程图

2. 主要步骤

此部分需要一定的MATLAB和工程数字图像处理的基础,非战斗人员请撤离( ‵▽′)ψ

%将要处理的图片以二维矩阵形式存储在I1当中,可以得到原始图像,如图2.1所示

图2.1 原始图像

%对原始图像进行中值滤波,中值滤波可以消除图片中的噪声,是空域内的非线性滤波

图2.2 中值滤波

%边缘检测算法,强度小于阈值0.25的边缘被省略掉,'both'为两个方向检测

图2.3 边缘检测

%对边缘检测后的图像进行腐蚀(其中se=[1;1;1]是结构元素对象)

图2.4 腐蚀后的图像

%对图像进行平滑处理(其中se=strel('rectangle',[20,20])是25*25的矩形)

图2.5 平滑图像

%从二进制图像中移除所有少于1000像素的连接对象,消失的是连续的白色像素数量少于1000的字符

图2.6 移除小方块后的图像

%根据图2.6得到文字所对应区域,再用得到的区域对原图进行裁剪,此部分代码较为复杂,就不po上来啦!

图2.7 裁剪后的图像

%对裁剪后的图像重复上述过程,并对单个的字进行切割

图2.8 单个文字的分割

%将分割好的汉字与字模数据库做比对,输出结果

图2.9 输出结果

3. 程序原码:

以上只是叙述了文字识别的主要步骤,需要深入学习的童鞋可以参考程序源码

链接提取码:osa7

/s/1whNlLHOUnfsiH-iUdmNEpg​

同时附上我航老师推荐使用的参考书《数字图像处理(matlab)》冈萨雷斯著

链接提取码:5j6o

/s/17LvTsBdQuf-OHz1Ce5vqlQ​

4. 结束语:

好啦,关于文字识别的内容就和大家叨到这里,有什么不明白的可以在下方评论或者私聊我,很乐意为您解答,如果文章中有错误,也欢迎批评和指正.

如果觉得《matlab 平滑曲线连接_MATLAB数字图像处理-识别广告牌上的文字》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。