图像数字字符定位
来源:互联网 发布:淘宝怎么换绑支付宝 编辑:程序博客网 时间:2024/06/06 01:54
字符的准确定位是字符准确识别的一个重要前提。并且有些条件下光照太弱定位变得很困难。
下面是一个基于边缘检测和方向累积进行字符定位的Matlab程序。
clear;close all;
%横向和纵向梯度阈值
xth = 60;
yth =10;
%读入图像,灰度化后缩放
I = imread('D:\\4.bmp');
I = imadjust(I,[0.1 0.9]);
figure(1);
subplot(3,1,1);imshow(I);
title('OrgColorImg');
J=rgb2gray(I);
J = imresize(J,0.25);
OrgImg = J;
J = edge(J,'canny');
subplot(3,1,2);imshow(J);
title('Canny');
[M,N] = size(J);
X = zeros(1,M);
Y = zeros(1,N);
%求Canny图,X方向累积。
for i=1:M
X(i) = sum(J(i,:));
end
%二值化累积结果
for i=1:M;
if(X(i)>xth)
X(i) =1;
else
X(i) = 0;
end
end
%求X方向起始点和终点。
for i=1:M
if(X(i)==1)
x1 = i;
break;
end
end
for i=1:M
if(X(i)==1)
x2 = i;
end
end
%将X方向多余的去处掉,产生一张新的临时图,在对其进行Canny,求Y方向累积
Newtmp = zeros(x2-x1,N);
Newtmp = OrgImg(x1:x2,1:N);
Newtmp = edge(Newtmp,'canny');
for j=1:N
Y(j) = sum(Newtmp(:,j));
end
for i=1:N;
if(Y(i)>yth)
Y(i) =1;
else
Y(i) = 0;
end
end
for i=1:N
if(Y(i)==1)
y1 = i;
break;
end
end
for i=1:N
if(Y(i)==1)
y2 = i;
end
end
figure(2);
subplot(2,1,1);plot(X);
title('X方向累积结果');
subplot(2,1,2);plot(Y);
title('Y方向累积结果');
%残生最后的结果图。
NewImg = zeros(x2-x1,y2-y1);
NewImg = OrgImg(x1:x2,y1:y2);
figure(1);
subplot(3,1,3),imshow(NewImg);
title('Result');
0 0
- 图像数字字符定位
- 数字字符
- 字符定位与字符分割
- 字符定位与字符分割
- 字符错误的定位
- 定位元字符
- 字符数字转为整形数字
- 车牌定位之梯度图像
- 定位图像中正方形区域
- 图像内文字定位算法
- 使用字符拼凑图像
- 图像字符识别示例
- 个位数字转字符
- 字符和数字转换
- 判断字符为数字
- 全角 半角 字符 数字
- 判断字符是不是数字
- 字符与数字!
- Zookeeper 安装和配置
- MySQL 主从复制搭建,基于日志(binlog)
- 利用线程池实现异步编程
- WP 4 i春秋_2017年春秋欢乐赛
- Java解决TopK问题(使用集合和直接实现)
- 图像数字字符定位
- SVN资料库转移-----dump和load
- JSP_2th_JSP基本语法
- 在Spring Boot中整合Spring Security并自定义验证代码
- 游戏卡片
- HTML5 input file类型,accept(文件类型控制)
- 在Vue项目里正确地引用jQuery插件
- Github Desktop配置
- iOS开发-App上架的MFi问题解决