2016-12-27 147 views
2

我正在撰写我的论文以建立一个音乐分数(纸张)识别系统。这是我的输入文件: enter image description hereOpenCV - 删除图像中的小的,不需要的小点/噪音

这是经过一些预处理和员工行去除结果: enter image description here 说我在这里遇到的是,有一些超小,不需要的“点”的问题后,出现员工线删除步骤。这些点/噪音与实际的音乐“点”符号不同:噪点较小,且大多出现在职员线上。这些点/噪声会影响程序后面的识别阶段。
如何去除这些点/噪音?

+0

您能分享您用于生成输出的代码吗?也许一些变量的变化会导致更好的结果。 – ZdaR

+0

我建议在原始图像上应用Sauvola的阈值算法,然后在答案中提到的合适的形态学操作 –

+0

为了去除小点(杂散噪声),您可以尝试应用中值滤波器 –

回答

3

如果有很小的点,你可能想尝试一些简单的图像处理技术,如erosion,他们工作在二进制图像。这是matlab/openCV中的一个标准功能。你只需要定义你的内核的大小(这是你需要忽略的点的大小)。

1

有两种简单的解决方案:

  • 测地线开口< =>侵蚀后跟一个测地重建。如果它没有在OpenCV中实现,你可以执行一个简单的开放(侵蚀+膨胀)。测地线开口具有去除小图案的优点,但保留了剩余图案的原始形状。
  • 应用阈值来查找黑色图案,标记它们并删除最小的图案。这个结果与我以前的建议相差无几,不同之处在于你不使用结构化元素。