锡膏高度判断(使用五步相位移法)--matlab

线路问题进行到一半的时候,被分配着去做了锡膏的3D检测算法。趁着两者都有了些许进展,终于是可以来记录一下相关的情况了~

由于解相位算法不是我做的,直接拿了同事的成果,这里就不讲了。主要是这算法也存在着问题,并且有个部分不知道怎么得到的。。。汗

    计算高度的方法总结就是:根据解相位的图,拟合出锡膏周围基准面,再进行计算得到高度。

遇到的问题

1:解出来的相位在边界处,沿x方向在左边界和右边界存在着翘曲的情况,这导致我在后续处理中遇到了一些困难

    解决方法:将处理的图片沿x和y方向在最早需要拓展的像素值上再多拓展了20个点,后续进行计算高度前将之裁掉。

2:图片锡膏周围存在阴影处,解出来的相位基本是近乎水平但是乱序波动的情况。

    解决方法:可以根据灰度判断出阴影的具体位置,根据解相位出来的规律,在左边界存在的阴影所有点都取来作为拟合点、右边界所有点都不取,最后得到一个拟合的基准面。

function  X = Ls1(~)
 

 

% Ref1 = imread('E:\Desktop\3DSPI\pmp\2\4\140_20_0.bmp');
% Ref2 = imread('E:\Desktop\3DSPI\pmp\2\4\140_20_1.bmp');
% Ref3 = imread('E:\Desktop\3DSPI\pmp\2\4\140_20_2.bmp');
% Ref4 = imread('E:\Desktop\3DSPI\pmp\2\4\140_20_3.bmp');
% Ref5 = imread('E:\Desktop\3DSPI\pmp\2\4\140_20_4.bmp');

%边缘全阴影读取
% Ref1 = imread('E:\Desktop\3DSPI\pmp\2\3\130_20_0.bmp');
% Ref2 = imread('E:\Desktop\3DSPI\pmp\2\3\130_20_1.bmp');
% Ref3 = imread('E:\Desktop\3DSPI\pmp\2\3\130_20_2.bmp');
% Ref4 = imread('E:\Desktop\3DSPI\pmp\2\3\130_20_3.bmp');
% Ref5 = imread('E:\Desktop\3DSPI\pmp\2\3\130_20_4.bmp');

Ref1 = imread('E:\Desktop\3DSPI\pmp\3\右边界2\140_20_0.bmp');
Ref2 = imread('E:\Desktop\3DSPI\pmp\3\右边界2\140_20_1.bmp');
Ref3 = imread('E:\Desktop\3DSPI\pmp\3\右边界2\140_20_2.bmp');
Ref4 = imread('E:\Desktop\3DSPI\
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值