我有三分之一的图像包含垂直干涉条纹(条纹是大约一个像素宽度的垂直线):
我正在寻找软件解决方案,i。 e. python 或 Mathematica 代码用于展开相位以获得无条纹的清晰图像、相衬图像。
如果出现任何问题,我会尽力回答您的详细问题,这应该有助于解决问题。
谢谢您的帮助。
这是预期的结果吗?这是使用 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]