【问题标题】:Thinning handwritten characters in MATLAB在 MATLAB 中细化手写字符
【发布时间】:2015-04-08 20:51:37
【问题描述】:

我想细化如下所示的手写字符:

下面的代码给出了我的预期结果:

BW = imread('s.png');
BWI = imcomplement(BW);
BW2D = im2bw(BWI,0.1);
BWT = bwmorph(BW2D,'thin',Inf),
BWFinal = imcomplement(BWT);
figure, imshow(BWFinal);

这是正确的方法吗?或者在 MATLAB 中还有其他方法吗?

【问题讨论】:

  • 如果它给你预期的结果 - 它可能是一个正确的方法。
  • 我希望所有关于 SO 的问题都可以通过YES 回答,就像这个。
  • @AnderBiguri - 我的回答是为了向你致敬!
  • @rayryeng haha​​h 太棒了!
  • 嗯,你已经知道这是正确的。 如何其他方法应该不同?表现?可读性?更短?更健壮?

标签: matlab image-processing


【解决方案1】:

是的。

【讨论】:

  • 您最有启发性的答案。 ;)
  • @eigenchris - 哈哈,谢谢。有人不同意并给了我反对票,但我或多或少地将这个答案用于演示。你需要写一个答案的最小字符数是 30,但我使用了不可见的分隔符来增加字符数。
  • @rayryeng 获得赏金的最短答案 :P :P
  • @roni - 如果是这样的话,那肯定是记录簿中的一个。 TBH,我不确定为什么要发放赏金,哈哈,但如果我最终得到它,那将非常有趣。
  • @rayryeng 我希望你会欣赏幽默;)
【解决方案2】:

大家一致认为你的代码没问题。但是,为了让 Shai 对他的观点有所了解,我添加了一个小评论:

imcomplement 的使用可能不是必需的,请参阅documentation

特别是:

提示如果 IM 是双精度类的灰度或 RGB 图像,您可以使用 表达式 1-IM 而不是这个函数。

如果 IM 是二值图像,您可以使用表达式 ~IM 代替 这个函数。

【讨论】:

  • 糟糕。赏金还是给了我。对不起:(。顺便说一句,我相当简洁的回答很好地阐述了。
  • @raryreng 正确的答案并不总是最好的答案 ;) 现在去角落里哭……
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-16
  • 1970-01-01
  • 2013-08-14
  • 2014-02-04
  • 1970-01-01
  • 2018-01-13
相关资源
最近更新 更多