在我问同样的问题之前,我尝试使用分水岭对连接的角色进行细分,但效果并不好。几个星期前,我在谷歌搜索中的stackoverflow得到同样的问题,Segmentation for connected characters, 在答案用户中,作者 mmgp 提供了一种使用形态学方法和结束操作的解决方案,但我并不了解所有。
我只是将图像稀疏化为形态。
原始图像
稀疏图像稀疏图像的大图像(放大)
4连接可以将数字 9 分割为单个字符,但 44 仍然连接。
我对Segmentation for connected characters
有一些疑问1.为什么需要将原始图像调整为200像素,然后将其细化。
为什么不立即细化原始图像。
2.how提取这些分支点并将形态学关闭应用于细化图像。
我只知道闭合形态是侵蚀和扩张组合操作。
关闭的垂直线需要2 *高度+ 1(这是一个结构元素高度?),我不知道如何设置。结构元素如何构建(3 * 3或其他?)。
最后他们得到了一张图片
我需要一些帮助,有人可以告诉我如何应用关闭操作并获得图像。 感谢。
答案 0 :(得分:0)
我使用前景功能和背景功能解决了这个问题。
下面有一些人详细介绍了这个算法:
使用上下文知识进行手写数字字符串分割和识别的遗传框架
波斯语和英语语言中手写数字字符串的分割。
流动的图像是我的捕获。
前景区域和前景骨架
背景区域和背景骨架
44的骨架图像。
基于上述特征点,我们可以构建一个分割449位的分割路径。
答案 1 :(得分:0)
使用以下方法进行关闭操作:
mask = ~df['Attribute:Value'].str.split(':').str[1].isin(['1','2','3']) | df['Support'].gt(4)