Discuz! Board

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

实验三:车牌分割程序

[复制链接]

391

主题

1222

帖子

3902

积分

管理员

Rank: 9Rank: 9Rank: 9

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

使用道具 举报

391

主题

1222

帖子

3902

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3902
 楼主| 发表于 2023-4-17 20:39:47 | 显示全部楼层
  1. function [line1,line2,line ] = getEdge(line,I_bw1)
  2. %从左边向右扫描至字符的左边缘
  3. while sum(I_bw1(:,line)) == 0
  4.     line = line+1;
  5. end
  6. line1 = line;
  7. %从左边向右扫描至字符的右边缘
  8. while sum(I_bw1(:,line)) > 0
  9.     line = line+1;
  10. end
  11. line2 = line;
复制代码
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-4-13 03:29 , Processed in 0.037071 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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