您好我正在尝试使用MatLab过滤内部有4个对象的图像。我的第一张图片有一个带有白色物体的黑色背景,因此我很清楚通过使用BW Label找到这些大的白色部分并将它们与图像分离来过滤每个图像。
下一张图片中有噪音。现在我有一个白色线条贯穿我的物体的图像,它们现在实际上是相互连接的。我怎样才能在MatLab中过滤掉这些行?盐和胡椒噪音怎么样?是否有MatLab功能可以做到这一点?
答案 0 :(得分:3)
过滤噪音可以通过多种方式完成。典型的噪声滤波过程将类似于阈值>中值滤波>模糊>阈值。但是,有关噪声类型的信息对于适当的噪声过滤非常重要。例如,由于您的图片中有线条,因此您可以尝试使用Hough transform来检测它们并将它们从游戏中取出(或houghlines)。另一种方法可以是实现RANSAC。对于盐和&辣椒类型的噪声,应该使用medfilt2具有捕获噪声特性的适当窗口大小(例如3x3窗口将很好地处理1像素大的噪声波动......)。
答案 1 :(得分:1)
如果您可以稍微扭曲对象,可以使用closing (morphological) filter进行一些对比度拉伸。你需要图像处理工具箱,但这是一般的想法。
我附上了一个我必须为学校项目做的例子。在我的情况下,背景是白色和物体黑色,我在侵蚀和膨胀之间伸展。在腐蚀之后你无法真正看到灰色,但它存在(因此需要进行阈值处理)。
您当然可以直接进行关闭(侵蚀,然后是扩张),然后是阈值。注意这个过滤如何扭曲对象。
通常情况下,使用移动平均滤镜清理盐和胡椒噪音,但这会使图像灰度化。对于我的项目,我需要一个纯黑色和白色(用于BW标签),形态滤镜很好地完全消除了噪音。