Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个二进制图像,但它很乱,我想知道是否有办法“清理”图像。如何/如何使用 OpenCV 将第一个示例图像转换为第二个示例图像?
https://docs.google.com/file/d/0BzUNc6BOkYrNeVhYUk1oQjFSQTQ/edit?usp=sharing
https://docs.google.com/file/d/0BzUNc6BOkYrNc1hObHlqVkhxRW8/edit?usp=sharing
在处理黑白图像时,通常使用图像形态学。在您的情况下,您可以提取连接的组件。然后你应该只留下大的连接组件。
您还可以腐蚀图像,以确保数字没有连接到任何噪音。
但是,最可靠的方法是利用 OCR 功能,因为您正在寻找数字。即,您可以使用您对重要区域应该是什么样子的先验知识。但在你的例子中,简单的形态似乎就足够了。
您可以应用链接中给出的形态腐蚀和膨胀操作。
首先应用腐蚀将删除小的噪声区域,第二个膨胀操作将恢复被腐蚀的对象区域。
这种组合操作称为打开。
嗨,如果这还不算太晚...利用形态学和斑点过滤...对于您的图像情况,用 Size(30, 1) 的元素进行形态学关闭,然后用 Size(1, 25) 的元素关闭. 之后过滤小于(图像行/ 2)大小的任何斑点应该给出干净的图像。