图像滤波

Question:


目标 图 4 中的白条宽 8 像素、高 224 像素,白条之间间隔 16 个像素。其他细节请参考你的输入图
片。
完成下列任务(可以再次使用 HW2 中的“filter2d”接口):
1. (2 分)用3 × 3和9 × 9的算术均值滤波器(arithmetic mean filter)对输入图像做滤波,并把相应的两
个结果贴在你的报告里。同时,你需要在报告中简要描述这两个滤波结果的特点,比如白条的宽/高/
颜色等。
2. (4 分)用3 × 3和9 × 9的调和均值滤波器(harmonic mean filters)对输入图像做滤波。把相应的两个
结果贴在你的报告里,同时简要描述每个滤波结果的特点。
3. (4 分)用3 × 3和9 × 9的谐波均值滤波器(contra-harmonic mean filters)对输入图像做滤波(Q =
−1.5)。把相应的两个结果贴在你的报告里,同时简要描述每个滤波结果的特点

Answer:

function filt2d(I,n,Q)
%读取原图像
if isstr(I)
    img = imread(I);
end
[IH,IW] = size(img); %取出图像高度和宽度
temp1=double(img);%将矩阵转为浮点型便于计算
%边界处理,没有被赋值的边界元素全部取原值
temp2=temp1;
for i=1:IH-n+1
    for j=1:IW-n+1
        c=temp1(i:i+(n-1),j:j+(n-1));
        temp2(i+(n-1)/2,j+(n-1)/2) = sum(c(:).^(Q+1))/sum(c(:).^(Q));
    end
end
new=uint8(temp2);
figure
subplot(221)
imshow(img)%显示原图像
axis on
title(['原图像']);
subplot(222)
imshow(new)%显示平滑或锐化后的图像
axis on
title(['滤波后图像']);
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值