我正在做一些断层扫描,并试图提高我的数据质量。您可以在这里看到原始数据:http://i.imgur.com/270HT.png。我想做的是沿着X方向平滑图像。基本上,拉伸图像和插值数据之间的离散跳变。
我对图像处理不太了解,但在我的肉眼里,我可以看到内置imresize和interp2函数的matlab做得不太好。
有谁能帮我提高一下吗?
发布于 2011-12-15 10:31:38
我不确定这里是否有一个通常的插值。你的形象似乎是从单独的列测量中创建的。如果您查看您的数据,似乎相邻的列几乎是彼此的副本。他们似乎只是被翻译了一点。如果你用相邻两列的亮度来绘制它,你会看到

对于这两个山峰,在你的图像中,这是一个类似容器的结构,这似乎是真的。那么如何计算两个相邻列的相关性来获得偏移量呢?

您可以看到,如果移动几个像素,这两列的相关性最大。
以下是我首先要尝试的。计算每个相邻列的偏移量。您会得到一个偏移列表,它告诉您需要翻译多少行才能使其成为与其邻居的最佳匹配。然后整理这个列表并使用平滑的版本来翻译每一列。这将修复原始映像中的列,如x=7中的列。
此外,您当然可以通过插值这个偏移量列表来向x方向扩展您的图像。假设你有10个相邻的列和它们的偏移量,它们最匹配。

然后,通过使用同一行不同的翻译,您可以使用中间步骤。通过这种方式,您将得到从列到列的平稳转换,并调整x方向的大小。

编辑
这
然后,
整理这个列表,并使用平滑的版本来翻译每一列。这将修复原始映像中的列,如x=7中的列。
需要澄清。当您有偏移量列表时,您想要用于翻译每一列的是该列表与其平滑版本之间的差异。我希望我就在这里,因为我没试过。
发布于 2011-12-15 09:01:38
您可以使用不同样式的大小调整的->,例如将'lanczos3‘作为可选参数。(请参阅这本手册)。如果您更喜欢的话,您也可以尝试在调整大小后将图像锐化。但是,您永远不会得到真正好的东西,因为插值总是无处可得的数据创建。
https://stackoverflow.com/questions/8514286
复制相似问题