我想尽可能完美地从如下图示中将手写内容与背景分离:
乍一看,似乎可以通过颜色来分离像素,但通过亮度和相对蓝色含量绘制像素并不能提供明确的分离:
使用上述分离线仅保留左上区域的像素(并将其他像素设为白色),我们得到以下结果:
手写内容并未完全提取出来,但(印刷的)数字开始显现。因此,似乎无法通过改进分离线来提升效果。还有其他可能的方法来改善结果吗?
回答:
这是我用简单技术所能达到的极限。我使用阈值处理来获取字母加上一些数字的碎片,并使用轮廓来过滤掉那些小的数字碎片。这样做也导致丢失了字母“i”上的点。如果你能控制手写内容,使用红色墨水将更容易和干净地分离,因为黑色数字中含有一些蓝色成分。
kmeans聚类可能会给你更好的结果,但我已经忘记如何在OpenCV中使用它了:p