function MainForm
global bw;
global bl;
global bll;
global s;
global fontSize;
global charpic;
global hMainFig;
global pic;
global hText;
clc; close all; warning off all;
if ~exist(fullfile(pwd, 'pic'), 'dir')
mkdir(fullfile(pwd, 'pic'));
end
picname = fullfile(pwd, 'image.jpg');
pic = imread(picname);
s = size(pic);
if length(s) == 3
pic = rgb2gray(pic);
end
bw = im2bw(pic, 0.7);
bw = ~bw;
for i = 1 : s(1)
if sum(bw(i,:) ~=0) > 0
FontSize_s = i;
break;
end
end
for i = FontSize_s : s(1)
if sum(bw(i,:) ~=0) == 0
FontSize_e = i;
break;
end
end
FontSizeT = FontSize_e - FontSize_s;
fontName = '宋体';
fontSize = FontSizeT;
bw1 = imclose(bw, strel('line', 4, 90));
bw2 = bwareaopen(bw1, 20);
bwi2 = bwselect(bw2, 368, 483, 4);
bw2(bwi2) = 0;
bw3 = bw .* bw2;
bw4 = imclose(bw3, strel('square', 4));
[Lbw4, numbw4] = bwlabel(bw4);
stats = regionprops(Lbw4);
for i = 1 : numbw4
tempBound = stats(i).BoundingBox;
tempPic = imcrop(pic, tempBound);
tempStr = fullfile(pwd, sprintf('pic\\%03d.jpg', i));
imwrite(tempPic, tempStr);
end
[bl, num] = bwlabel(bw1, 4);
chars = [char(uint8('A'):uint8('Z')), uint8('a'):uint8('z'), uint8('0'):uint8('9')];
eleLen = length(chars);
charpic = cell(1,eleLen);
hf1 = figure('Visible', 'Off');
imshow(zeros(32,32));
h = text(15, 15, 'a', 'Color', 'w', 'Fontname', fontName, 'FontSize', fontSize);
for p = 1 : eleLen
set(h, 'String', chars(p));
fh = getframe(hf1, [85, 58, 30, 30]);
temp = fh.cdata;
temp = im2bw(temp, 0.2);
[r, c] = find(temp == 0);
rect = [min(c) min(r) max(c)-min(c) max(r)-min(r)];
temp = imcrop(temp, rect);
[f1, f2] = find(temp == 1);
sz = size(temp);
temp = temp(max(1, min(f1)-1):min(max(f1)+1, sz(1)),max(1, min(f2)-1):min(max(f2)+1, sz(2)));
charpic{p} = temp;
end
delete(hf1);
bll = zeros(size(bl));
for i = 1:num
[f1, f2] = find(bl == i);
bll(min(f1):max(f1), min(f2):max(f2)) = i;
end
hMainFig = figure(1);
imshow(picname, 'Border', 'loose'); hold on;
for i = 1 : numbw4
tempBound = stats(i).BoundingBox;
rectangle('Position', tempBound, 'EdgeColor', 'r');
end
hText = axes('Units', 'Normalized', 'Position', [0 0 0.1 0.1]); axis off;
set(hMainFig, 'WindowButtonMotionFcn', @ShowPointData);
end
function ShowPointData(hObject, eventdata, handles)
global bw;
global bl;
global bll;
global s;
global charpic;
global hMainFig;
global pic;
global hText;
p = get(gca,'currentpoint');
x = p(3);
y = p(1);
if x<1 || x>s(1) || y<1 || y>s(2)
return;
end
curlabel = bll(uint32(x), uint32(y));
if curlabel ~= 0
[f1, f2] = find(bl == curlabel);
minx = min(f1);
maxx = max(f1);
miny = min(f2);
maxy = max(f2);
tempic = pic(minx:maxx, miny:maxy);
temp = bw(minx:maxx, miny:maxy);
tempIm = zeros(round(size(temp)*2)); tempIm = logical(tempIm);
tempIm(round((size(tempIm, 1)-size(temp, 1))/2):round((size(tempIm, 1)-size(temp, 1))/2)+size(temp, 1)-1, ...
round((size(tempIm, 2)-size(temp, 2))/2):round((size(tempIm, 2)-size(temp, 2))/2)+size(temp, 2)-1) = temp;
set(0, 'CurrentFigure', hMainFig);
imshow(tempIm, [], 'Parent', hText);
mincost = 100000;
mark = 1;
for i = 1 : length(charpic)
temp1 = charpic{i};
ss = size(temp);
temp1 = imresize(temp1, ss);
% tempcost = sum(sum(abs(temp - temp1)));
tempcost = norm(temp - temp1);
if tempcost < mincost
mincost = tempcost;
mark = i;
end
end
end
end
没有合适的资源?快使用搜索试试~ 我知道了~
【印刷字符识别】基于matlab特征匹配英文印刷字符识别【含Matlab源码 310期】.zip
共200个文件
jpg:198个
m:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 4 下载量 136 浏览量
2021-12-01
14:19:34
上传
评论 2
收藏 368KB ZIP 举报
温馨提示
CSDN海神之光上传的代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作 手写数字识别:BP神经网络手写数字识别、PCA手写数字识别、RBF手写数字识别、模板匹配手写数字识别 字母识别:BP神经网络手写字母识别、PCA手写字母识别、RBF手写字母识别、模板匹配手写字母识别
资源推荐
资源详情
资源评论
收起资源包目录
【印刷字符识别】基于matlab特征匹配英文印刷字符识别【含Matlab源码 310期】.zip (200个子文件)
image.jpg 94KB
运行结果.jpg 87KB
2.JPG 18KB
022.jpg 1KB
037.jpg 1KB
053.jpg 1KB
055.jpg 1KB
008.jpg 1KB
062.jpg 1KB
097.jpg 1KB
117.jpg 1KB
019.jpg 1KB
095.jpg 1KB
005.jpg 1KB
024.jpg 1KB
028.jpg 1KB
116.jpg 1006B
073.jpg 990B
010.jpg 987B
089.jpg 973B
039.jpg 966B
084.jpg 963B
120.jpg 953B
007.jpg 951B
100.jpg 938B
048.jpg 936B
090.jpg 926B
054.jpg 907B
023.jpg 905B
111.jpg 900B
071.jpg 898B
032.jpg 892B
052.jpg 877B
112.jpg 863B
020.jpg 863B
123.jpg 840B
012.jpg 825B
104.jpg 822B
125.jpg 818B
072.jpg 808B
124.jpg 804B
015.jpg 803B
026.jpg 792B
068.jpg 783B
129.jpg 783B
002.jpg 779B
045.jpg 766B
096.jpg 754B
128.jpg 750B
034.jpg 750B
109.jpg 747B
058.jpg 746B
088.jpg 742B
074.jpg 737B
006.jpg 736B
018.jpg 732B
027.jpg 729B
061.jpg 724B
099.jpg 723B
126.jpg 721B
033.jpg 720B
081.jpg 711B
069.jpg 708B
011.jpg 693B
065.jpg 691B
014.jpg 691B
066.jpg 687B
030.jpg 685B
113.jpg 683B
004.jpg 681B
130.jpg 681B
016.jpg 679B
057.jpg 678B
101.jpg 677B
001.jpg 673B
064.jpg 673B
079.jpg 669B
114.jpg 668B
042.jpg 664B
056.jpg 663B
094.jpg 661B
077.jpg 656B
127.jpg 627B
080.jpg 623B
041.jpg 623B
047.jpg 621B
075.jpg 621B
044.jpg 620B
118.jpg 615B
106.jpg 613B
059.jpg 613B
043.jpg 613B
085.jpg 611B
082.jpg 611B
115.jpg 609B
107.jpg 605B
076.jpg 601B
003.jpg 593B
092.jpg 592B
131.jpg 591B
共 200 条
- 1
- 2
资源评论
- LXY6652022-05-01用户下载后在一定时间内未进行评价,系统默认好评。
- 无微凉2022-10-24发现一个超赞的资源,赶紧学习起来,大家一起进步,支持!
- Mzz72022-12-23资源简直太好了,完美解决了当下遇到的难题,这样的资源很难不支持~
- dhf88482023-03-09资源内容总结地很全面,值得借鉴,对我来说很有用,解决了我的燃眉之急。
海神之光
- 粉丝: 3w+
- 资源: 2089
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功