matlab-干涉条纹图像条纹间距的自动识别(干涉条纹处理的基本方法)

干涉条纹处理的基本方法:

条纹局部追踪法:

条纹细化法:

  • 基于条纹强度的细化:极值搜索
  • 基于二值图像的细化:此博客采用此方法进行处理;

基于二值化干涉条纹细化的处理:

提取步骤:
  • 预处理: 去除噪声图像,转化为灰度图像;
  • 二值化: imbinarize() 函数
  • 细化处理: bwmorph(‘skel’) 函数进行处理;
  • 修像: 去毛刺

代码实现:

clear;
close all;

%读入图像 
img=imread('C:\Users\lenovo\Desktop\1.bmp');            
figure('name','原图转二值');
subplot(1,3,1);
imshow(img),title('原图');

%转化为灰度图像
img=rgb2gray(img);
subplot(1,3,2);
imshow(img),title('灰度图像');

%转化为二值图像
BW=imbinarize(img);
subplot(1,3,3);
imshow(BW),title('二值图像');   

%高通滤波去噪
sigma=1;%滤波器的标准差
parameters=double(3*sigma*2+1); % 模板尺寸
H=fspecial('gaussian', parameters, sigma);%滤波算子 %gaussian低通滤波器
BW=imfilter(BW,H,'replicate');
figure,imshow(BW),title('去噪后图像'); 

%骨化
BW1=bwmorph(BW,'skel',20);
figure,imshow(BW1),title('骨化图像');

%去毛刺(消除噪声)
BW2=bwmorph(BW1,'spur',18);
figure,imshow(BW2),title('去毛刺');



成像结果:

得到二值图像:

matlab-干涉条纹图像条纹间距的自动识别(干涉条纹处理的基本方法)_第1张图片

高通滤波去噪:

matlab-干涉条纹图像条纹间距的自动识别(干涉条纹处理的基本方法)_第2张图片

图像细化处理:

matlab-干涉条纹图像条纹间距的自动识别(干涉条纹处理的基本方法)_第3张图片

去毛刺:

matlab-干涉条纹图像条纹间距的自动识别(干涉条纹处理的基本方法)_第4张图片

感觉文章不错的同学麻烦动动小手点点关注订阅呗,您的肯定是对我持续更新最大的支持!

你可能感兴趣的:(matlab)