干涉条纹原图(像素1024×1024,点击放大-右键“图片另存为”到桌面-文件名存为“1.bmp”):
干涉条纹骨化的结果。依次经过:二值化处理→滤波去噪→骨化图像→去毛刺。
干涉条纹骨化的Matlab源代码如下:
clear;clc;close all;
% 读图
I = imread(['C:\Users\Administrator\Desktop\','1','.bmp']);
%读入图像
figure;
subplot(2,3,1);
imshow(I,[]),title('原图');
%转化为二值图像
BW=imbinarize(I,'adaptive');
subplot(2,3,2);
imshow(BW,[]),title('二值图像');
%滤波去噪
sigma=1;%标准差
parameters=double(3*sigma*2+1); % 模板尺寸
H=fspecial('gaussian', parameters, sigma);%滤波算子:gaussian低通滤波器
BW=imfilter(BW,H,'replicate');
subplot(2,3,3);
imshow(BW,[]),title('去噪后图像');
%骨化
BW1=bwmorph(BW,'skel',15);
subplot(2,3,4);
imshow(BW1,[]),title('骨化图像');
%去毛刺(消除噪声)
BW2=bwmorph(BW1,'spur',10);
subplot(2,3,5);
imshow(BW2,[]),title('去毛刺');
“光学码农”感谢您的关注!