• 大小: 2KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-29
  • 语言: Matlab
  • 标签:

资源简介

几个小程序,对图像做一些简单处理,有数字图像处理课程的或相关初学者可以了解一下。MATLAB的.m文件,可直接运行。

资源截图

代码片段和文件信息

clc;clear all;
I=imread(‘C:\Users\Administrator\Desktop\4.jpg‘);
figure(‘name‘‘频率域滤波增强及图像的二值分析‘);
%% part1 图像的膨胀与腐蚀
subplot(231)imshow(I)
title(‘原图像‘)

se=strel(‘disk‘1);                            %生成圆形结构元素
I1=imdilate(Ise);                             %用生成的结构元素对图像进行膨胀
subplot(232);
imshow(I1);
title(‘膨胀后图像‘);
se=strel(‘disk‘1);                            %生成圆形结构元素
I2=imerode(Ise);                              %用生成的结构元素对图像进行腐蚀
subplot(233);
imshow(I2);
title(‘腐蚀后图像‘);
%% part2 噪声图像的频率滤波
I=rgb2gray(I);
I3=imnoise(I‘gaussian‘0.02);
subplot(234)imshow(I3)
title(‘加入高斯噪声后‘)

f=double(I3);
g=fft2(f);
g=fftshift(g);                                 %把图像从空间域转换到频率域
[N1N2]=size(g);     
d0=50;
n1=fix(N1/2);
n2=fix(N2/2);                                  %取整(不四舍五入)

n=3;                                           %3阶butterworth滤波器
for i=1:N1
    for j=1:N2
        d=sqrt((i-n1)^2+(j-n2)^2);
        h=1/(1+0.414*(d/d0)^(2*n));            %计算传递函数
        result(ij)=h*g(ij);
  end
end
result=ifftshift(result);
X2=ifft2(result);
X3=uint8(real(X2));
subplot(235)imshow(X3)
title(‘butterworth低通滤波‘)


for i=1:N1
    for j=1:N2
        d=sqrt((i-n1)^2+(j-n2)^2);
        if d<=0                                %高斯高通滤波
            h=0;
        else
           h=1;
        end
        result(ij)=h*g(ij);
    end
end
result=ifftshift(result);
X2=ifft2(result);
X3=uint8(real(X2));
subplot(236)imshow(X3)
title(‘高斯高通滤波‘)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1652  2017-04-13 16:18  frequencyfilter.m
     文件        2290  2017-04-13 16:18  spatialfilter.m
     文件        1324  2017-04-13 16:18  spatialtransform.m

评论

共有 条评论