去除显微镜拍摄图像中的条纹图案
remove stripe pattern in image taken by microscope
这张照片是用显微镜拍摄的。
我想去掉上面的条纹。我试过 DFT
但似乎这些条纹在频谱域上并不清晰。
有什么建议吗?
答案1:直接从FFT中去除条纹
当我计算 FFT 时,我们得到了下图,其中我们可以看到条纹签名(我用黑色包围它)。
如果我手动删除它,我会得到:
我们可以做得更好,只删除基数正弦中每个最大值附近的频率。
答案2:分段条纹
过程:FFT -> select 条纹频率 -> iFFT -> 阈值
生成的蒙版包含您的条纹。您可以从原始图像中减去它们,填充它们等...
只有条纹的 FFT:
生成的掩码:
答案 3:更改捕获过程
这条条纹似乎是由于显微镜载玻片和盖玻片之间的干扰造成的。您可能可以通过更改流程来删除它。
解决方案 1:
因为图像中只有 3 种主色,并且条纹颜色与其他对象颜色不同,您可能会通过使用对象颜色并基于它进行分割来获得最佳结果,例如使用k=3 的 kmeans 然后用最亮簇的平均值替换属于最暗簇的所有像素。
解决方案 2:
使用hough lines检测图像中的线条,
找到图像中最亮的颜色,
用最浅的颜色绘制检测到的线条。
两种解决方案都可以在 OpenCV 中实现。
祝你好运!
感谢以上所有帮助!经过一些实验,我实现了一种我认为效果很好的方法。
首先使用傅立叶,然后将一个名为 tophat 的滤波器应用到幅度 image.Than 亮点将 selected.After 从频域中移除,而不是反 fft,条纹将是 removed.Then 需要对图像进行过滤以提取前景 alone.I 使用高斯滤波器,它有效但无效 perfect.It 似乎存在一些结构提取过滤器,例如相对总变化,我不确定,如果有人有更好的主意请告诉我。
图片是这样的After ifft
再次感谢@Erwan 和@Dr.Haimovitz 的所有帮助。
这张照片是用显微镜拍摄的。
我想去掉上面的条纹。我试过 DFT
但似乎这些条纹在频谱域上并不清晰。
有什么建议吗?
答案1:直接从FFT中去除条纹
当我计算 FFT 时,我们得到了下图,其中我们可以看到条纹签名(我用黑色包围它)。
如果我手动删除它,我会得到:
我们可以做得更好,只删除基数正弦中每个最大值附近的频率。
答案2:分段条纹
过程:FFT -> select 条纹频率 -> iFFT -> 阈值 生成的蒙版包含您的条纹。您可以从原始图像中减去它们,填充它们等... 只有条纹的 FFT:
生成的掩码:
答案 3:更改捕获过程
这条条纹似乎是由于显微镜载玻片和盖玻片之间的干扰造成的。您可能可以通过更改流程来删除它。
解决方案 1:
因为图像中只有 3 种主色,并且条纹颜色与其他对象颜色不同,您可能会通过使用对象颜色并基于它进行分割来获得最佳结果,例如使用k=3 的 kmeans 然后用最亮簇的平均值替换属于最暗簇的所有像素。
解决方案 2:
使用hough lines检测图像中的线条, 找到图像中最亮的颜色, 用最浅的颜色绘制检测到的线条。
两种解决方案都可以在 OpenCV 中实现。
祝你好运!
感谢以上所有帮助!经过一些实验,我实现了一种我认为效果很好的方法。
首先使用傅立叶,然后将一个名为 tophat 的滤波器应用到幅度 image.Than 亮点将 selected.After 从频域中移除,而不是反 fft,条纹将是 removed.Then 需要对图像进行过滤以提取前景 alone.I 使用高斯滤波器,它有效但无效 perfect.It 似乎存在一些结构提取过滤器,例如相对总变化,我不确定,如果有人有更好的主意请告诉我。 图片是这样的After ifft
再次感谢@Erwan 和@Dr.Haimovitz 的所有帮助。