Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2313|回复: 3

车牌识别

[复制链接]

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
发表于 2023-5-15 20:01:02 | 显示全部楼层 |阅读模式
  1. clc;
  2. clear all
  3. %载入模板字符,并变为指定大小
  4. modes = [];
  5. for i = 0:9
  6.     modes = [modes,num2str(i)];
  7. end
  8. for i = 97:122
  9.     modes = [modes,char(i)];
  10. end
  11. modes = [modes,'鲁','陕','苏','豫'];
  12. sets = [];
  13. for i = 1:length(modes)
  14.      I_gray = imread(['.\modes\',modes(i),'.jpg']);
  15.      I1 = imresize(I_gray,[40,20]);
  16.      sets(:,:,i) = I1;
  17. end
  18. %逐个读取分割后的字符
  19. results = [];
  20. for j = 1:7
  21. I_obj = imread([num2str(j),'.jpg']);
  22. %将目标字符和模板字符变成同样大小
  23. I1_obj = imresize(I_obj,[40,20]);
  24. %将目标字符和所有模板字符相减后,求模
  25. errs = [];   
  26. for i = 1:length(modes)
  27.       errs = [errs, norm(double(I1_obj)-sets(:,:,i))];
  28. end
  29. %找到最小模对应的模板字符,即为识别结果
  30. index =find(errs==min(min(errs)));
  31. results = [results,modes(index)];
  32. end
  33. results
  34. %找到最小模对应的模板字符,即为识别结果
复制代码


回复

使用道具 举报

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
 楼主| 发表于 2023-5-15 20:56:03 | 显示全部楼层
字符模板

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
 楼主| 发表于 2023-5-22 20:41:46 | 显示全部楼层
  1. I_gray = rgb2gray(I);
  2. I_zone = (I(:,:,3)>100)&(I(:,:,1)<100)&(I(:,:,2)<100);
  3. se = strel('disk',3);  %structure element结构元素
  4. I_zone1 = imerode(I_zone,se);%腐蚀
  5. I_zone2 = imdilate(I_zone1,se);%膨胀
  6. [i,j] = find(I_zone2 == 1);
  7. left = min(j);
  8. right = max(j);
  9. upper = min(i);
  10. lower = max(i);
  11. I_zone3 = I_gray(upper:lower,left:right);
  12. I_bw = I_zone3 >150;
  13. I_bw1 = bwareaopen(I_bw,20);
  14. axes(handles.axes1);
  15. imshow(I_bw1,[]);
  16. line = 1;
  17. %获取汉字冀
  18. [line1,line2,line] = getEdge(line,I_bw1)
  19. I1 = I_bw1(:,line1:line2);
  20. axes(handles.axes2); imshow(I1,[]);
  21. %获取字母R
  22. [line1,line2,line] = getEdge(line,I_bw1)
  23. I2 = I_bw1(:,line1:line2);
  24. axes(handles.axes3); imshow(I2,[]);
  25. [line1,line2,line] = getEdge(line,I_bw1)
  26. I3 = I_bw1(:,line1:line2);
  27. axes(handles.axes4); imshow(I3,[]);
  28. [line1,line2,line] = getEdge(line,I_bw1)
  29. I4 = I_bw1(:,line1:line2);
  30. axes(handles.axes5); imshow(I4,[]);
  31. [line1,line2,line] = getEdge(line,I_bw1)
  32. I5 = I_bw1(:,line1:line2);
  33. axes(handles.axes6); imshow(I5,[]);
  34. [line1,line2,line] = getEdge(line,I_bw1)
  35. I6 = I_bw1(:,line1:line2);
  36. axes(handles.axes7); imshow(I6,[]);
  37. [line1,line2,line] = getEdge(line,I_bw1)
  38. I7 = I_bw1(:,line1:line2);
  39. axes(handles.axes8); imshow(I7,[]);
复制代码
回复

使用道具 举报

399

主题

1251

帖子

4020

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4020
 楼主| 发表于 2023-5-22 21:28:05 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-6-8 12:02 , Processed in 0.040205 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表