[已解决] 图像中字符的定位

[复制链接]
cool_cool_boy 发表于 2021-3-8 11:26:12
本帖最后由 cool_cool_boy 于 2021-3-8 11:31 编辑

如图所示,请问如何将图片中的字符精确定位出来?谢谢大佬

本帖子中包含更多资源

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

x

最佳答案


lyqmath 发表于 2021-3-10 16:36:47


可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等](参加满减活动)

  1. clc; clear all; close all;
  2. im = imread('./im.png');
  3. if ndims(im) == 3
  4.     im = rgb2gray(im);
  5. end
  6. bw = im2bw(im, 0.5);
  7. m1 = imfill(bw, 'holes');
  8. m2 = ~bw;
  9. m = m1 .* m2;
  10. m = logical(m);
  11. sz = size(m);
  12. m2 = bwareaopen(m, round(sz(1)*sz(2)*0.0005));
  13. m2 = logical(m2);
  14. stats = regionprops(m2);
  15. rects = cat(1, stats.BoundingBox);
  16. figure; imshow(im, [])
  17. for i = 1 : size(rects, 1)
  18.     hold on; rectangle('Position', rects(i,:), 'EdgeColor', 'm', 'LineWidth', 2);
  19. end

复制代码

本帖子中包含更多资源

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

x
回复此楼

2 条回复


lyqmath 发表于 2021-3-10 16:36:47


可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等](参加满减活动)

  1. clc; clear all; close all;
  2. im = imread('./im.png');
  3. if ndims(im) == 3
  4.     im = rgb2gray(im);
  5. end
  6. bw = im2bw(im, 0.5);
  7. m1 = imfill(bw, 'holes');
  8. m2 = ~bw;
  9. m = m1 .* m2;
  10. m = logical(m);
  11. sz = size(m);
  12. m2 = bwareaopen(m, round(sz(1)*sz(2)*0.0005));
  13. m2 = logical(m2);
  14. stats = regionprops(m2);
  15. rects = cat(1, stats.BoundingBox);
  16. figure; imshow(im, [])
  17. for i = 1 : size(rects, 1)
  18.     hold on; rectangle('Position', rects(i,:), 'EdgeColor', 'm', 'LineWidth', 2);
  19. end

复制代码

本帖子中包含更多资源

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

x
回复此楼

cool_cool_boy 发表于 2021-3-15 09:49:00
lyqmath 发表于 2021-3-10 16:36
可以

参考书籍《计算机视觉与深度学习实战——以MATLAB、Python 为工具》[刘衍琦等](参加满减活动)

谢谢哈,那请问你一下,有没有办法将定位好的字符提取出来呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表