[求助]谁能算杨氏条纹的间距
我毕业设计中得到了三条黑白相间的杨氏条纹,但是由于图像非常模糊,不知道应该用什么方法才能计算到条纹的间距,图片上的条纹是有点斜斜的,基本不能用二值和边界提取来简便计算,请大家都来帮帮我吧
先将您的条纹图样读入MATLAB,在工作空间中会出现其信息,即显示该图片为a*b的矩阵。此时创建一个1*a的全一矩阵,然后用此全一矩阵与图像矩阵相乘,最后用“plot”命令画出相乘所得的矩阵,便为条纹的光强分布图(如果学过线性代数,相信这种方法不难理解)。相信此时再求条纹间距会容易些。
具体操作如下:
I=imread('条纹图像');%读入条纹图像
O=ones(1,a);%生成一个1*a的全一矩阵
J=O*I;%J就是光强分布图
plot(J)
我按照您的方法得到了光强分布图,和余弦函数类似,那么请问,该图中两个相邻的峰值点间隔应该就是所求的杨氏条纹的间距了吧,那么我是不是应该把这个不太标准的图进行余弦拟合呢?要是拟合应该怎么编写程序呢?
得到的光强分布图的各个数据为:
[34.576
43.96
36.163
47.699
71.256
101.49
130.79
161.41
187.21
200.4
188.88
159.99
123.59
91.093
61.684
36.421
25.853
30.919
54.167
83.906
111.78
140.61
168.08
189.96
188.54
169.44
135.91
103.63
71.775
44.232
25.953
27.031
47.967
76.819
105.12 ]
我不会使用拟合。不过您可以在转换图像前使用滤波方法去除原始图像中的噪声。