相位展开条纹

问题描述 投票:0回答:1

我有三分之一的图像包含垂直干涉条纹(条纹是大约一个像素宽度的垂直线):

我正在寻找软件解决方案,i。 e. python 或 Mathematica 代码用于展开相位以获得无条纹的清晰图像、相衬图像。

如果出现任何问题,我会尽力回答您的详细问题,这应该有助于解决问题。

谢谢您的帮助。

python image-processing wolfram-mathematica physics phase
1个回答
0
投票

这是预期的结果吗?这是使用 Photoshop 进行调整的,但可以进行值映射以实现自动化。

上图已被裁剪。

a2 = Import["https://i.stack.imgur.com/ofwGS.png"];
Dimensions[b2 = ImageData[a2]]

{105, 268}

原图

a1 = Import["https://i.stack.imgur.com/vAAie.png"];
Dimensions[b = ImageData[a1]]

{300, 300}

获取像素值映射并应用它

b1 = Take[#, 268] & /@ Take[b, 105];

c = Union[Thread[Flatten[b1] -> Flatten[b2]]];

d = b1 /. c

Image[d]

(与上图相同)

对于自动化,由于新图像可能具有新的像素值,因此映射应转换为拟合函数。

e = c /. Rule -> List;

ListPlot[e]

f = Fit[e, {1, x, x^2}, x]

-0.000552556 + 3.90596 x - 6.00199 x^2

g[x_] := -0.0005525561461167876 +
         3.90595888578097 x - 6.001988464838352 x^2

h = b /. v_Real :> g[v]

Magnify[Image[h], 2]

© www.soinside.com 2019 - 2024. All rights reserved.