计算机图像处理实验五:空间图像处理技术(MATLAB)

【实验名称】

空间图像处理技术

 【实验目的】

1.熟悉使用MATLAB库函数fspecial、imfilter、imnoise、medfilt2;

2.通过本次实验掌握图像空间滤波技术以及文字识别技术;

【实验内容】

                                    图1                                                    图2

  1. 利用图1人物图像,通过库函数fspecial选择不同尺寸的平均滤波器,然后利用库函数imfilter进行滤波,观察滤波后的图像与滤波器大小的关系。
  2. 利用图1人物图像,通过库函数imnoise对图像加噪音(椒盐噪音)。分别用55列的平均滤波器和中值滤波器,对加噪的图像滤波,对比结果进行分析比较。
  3. 利用图2文字图像(该图像可从MATLAB中直接读取:I=imread('text.png');)从中选取字符a为模板(a=I(32:46,86:100);),通过滤波与阈值处理,识别出图像中的字符a。

【 实验代码】

题1

clc;close all;
I=imread('实验5_Fig1.jpg');
imshow(I);
title('原图');
h1=fspecial('average',[5,5]);
h2=fspecial('average');
I1=imfilter(I,h1);
figure;
imshow(I1);
title('滤波器为[5,5]效果的图像');
% 选用默认的滤波器,即[3,3]
I2=imfilter(I,h2);
figure;
imshow(I2)
title('滤波器为[3,3]效果的图像');

题2

img=imnoise(I,'salt & pepper',0.02);
figure;
imshow(img);
title('加椒盐噪音处理后的图像');
% 5行5列滤波器处理
I3=imfilter(img,h1);
figure;
imshow(I3);
title('用5行5列的平均滤波器处理后图像');
% 中值滤波器处理
I4=medfilt2(img,[5,5]);
figure;
imshow(I4);
title('用中值滤波器处理后图像');

题3

img=imread('text.png');
img=double(img);
a=img(32:46,86:100);
figure;
subplot(1,3,1);
imshow(img);
title('原图');
subplot(1,3,2);
imshow(a);
title('截取字段的模板');
new_img=imfilter(img,a);
maxI=sum(a(:));
s=new_img==maxI;
IndexA=double(s);
[X,Y]=find(new_img==maxI);
num_a=length(X);
disp(['图像中a的个数:',num2str(num_a)]);
subplot(1,3,3);
imshow(IndexA);
title('经过字符模板处理后的');
[m,n]=size(a);
figure
for i=1:num_a
    x=X(i);
    y=Y(i);
    IndexA((x-floor(m/2):x+floor(m/2)),(y-floor(n/2):y+floor(n/2)))=a;
    imshow(IndexA);
    hold on
end

 【运行结果】

题1

题2

题3

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员-小李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值