实验要求:

Objective:
To observe how the lowpass filtering smoothes an image.
Main requirements:
Ability of programming with C, C++, or Matlab.
Instruction manual:
(a) Implement the Gaussian lowpass filter in Eq. (4.3-7). You must be able to specify the size, M x N, of the resulting 2D function. In addition, you must be able to specify where the 2D location of the center of the Gaussian function.
(b) Download Fig. 4.11(a) [this image is the same as Fig. 4.18(a)] and lowpass filter it to obtain Fig. 4.18(c).

实验要求我们通过在频域的高斯低通滤波器对图像进行低通滤波。
频域滤波的处理可以参考前面的实验04-01实现。(点我打开链接)

实验代码:

% PROJECT 04-03 Lowpass Filtering
close all;
clc;
clear all;%
img = imread('Fig4.11(a).jpg');
img = mat2gray(img);
figure;
subplot(1,3,1);
imshow(img);
title('原图像');% 产生滤波函数
[M, N] = size(img);
P = 2 * M;
Q = 2 * N;alf = 100;
H = zeros(P, Q);
for i = 1:Pfor j = 1:QH(i, j) = exp(-((i-P/2)^2 + (j-Q/2)^2) / (2 * alf^2));end
end% H = ones(P, Q);
subplot(1,3,2);
imshow(H);
title('滤波函数');%
% 图像填充
[M, N] = size(img);
P = 2 * M;
Q = 2 * N;img_fp = zeros(P, Q);
img_fp(1:M, 1:N) = img(1:M, 1:N);% [X, Y] = meshgrid(1:P, 1:Q);
% ones = (-1)^(X+Y);% img_f = ones .* img_fp;
img_f = zeros(P, Q);
for x = 1:Pfor y = 1:Qimg_f(x, y) = img_fp(x, y) .* (-1)^(x+y);end
endimg_F = fft2(img_f);img_G = img_F .* H;
img_g = real(ifft2(img_G));% img_g = ones .* img_g;for x = 1:Pfor y = 1:Qimg_g(x, y) = img_g(x, y) .* (-1)^(x+y);end
endimg_o = img_g(1:M, 1:N);subplot(1,3,3);
imshow(img_o, []);
title('高斯低通滤波后的图像');

其中套用公式产生高斯滤波函数的代码如下:

[M, N] = size(img);
P = 2 * M;
Q = 2 * N;alf = 100;
H = zeros(P, Q);
for i = 1:Pfor j = 1:QH(i, j) = exp(-((i-P/2)^2 + (j-Q/2)^2) / (2 * alf^2));end
end

其余部分就是频率域滤波的流程,不做赘述。

实验结果:

说明:
第一幅图是原始图像;
第二幅是高斯低通滤波器;
第三幅是低通滤波处理后的结果,其较原始图像明显变得更模糊。

数字图像处理实验(7):PROJECT 04-03 , Lowpass Filtering相关推荐

  1. 数字图像处理实验(总计23个)汇总

    以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...

  2. 数字图像处理实验三图像增强

    一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的 感性认识,巩固所学的图像增强的理论知识和相 关算法. (2)熟练掌握直方图均衡化和直方图规定化的计算过 程. (3)熟练掌握空域滤波中常 ...

  3. 数字图像处理实验四图像频域增强

    一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...

  4. 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理

    数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...

  5. 数字图像处理实验——Python语言实现

    数字图像处理实验--Python语言实现 实验一:数字图像处理入门 实验二:直方图均衡 实验三:线性平滑和锐化--掩模法 实验四:非线性平滑--中值滤波 实验五:非线性锐化--梯度法 GitHub地址 ...

  6. 数字图像处理实验5图像复原

    一.实验目的 (1)了解图像复原的目的及意义,加深对图像复原理论的认识. (2)掌握维纳滤波复原基本原理. (3)掌握约束最小二乘方复原方法. (4)掌握盲解卷积复原方法 二.实验内容  (1)维纳滤 ...

  7. 实验1 数字图像处理的MATLAB基础,《数字图像处理(实验部分)》实验1_数字图像处理中MATLAB使用基础...

    <数字图像处理(实验部分)>教案 实验一:数字图像处理中MATLAB使用基础实验 一. MATLAB软件安装 二. 进入MATLAB运行环境 三. MATLAB编程基础 3.1.变量 预定 ...

  8. matlab数字图像实验报告,数字图像处理实验报告(matlab)

    数字图像处理实验报告(matlab) 学院:自动化学院 班级:电081班 姓名:李林树 学号:40850099 2011年10月 实验一 直方图均衡化 一. 实验目的: 1. 熟悉图像数据在计算机中的 ...

  9. 数字图像处理——实验一 Python中数字图像处理的基本操作

    数字图像处理--实验一 Python中数字图像处理的基本操作 一.实验目的 二.实验主要仪器设备 三.实验原理 3.1 数字图像的表示和类别 3.2 opencv-python图像文件格式 四.实验内 ...

  10. c语言米粒数实验报告,数字图像处理实验报告米粒.doc

    数字图像处理实验报告米粒 一.任务描述 本次试验的主要任务是用matlab编写程序确定图1(原始图像)中的米粒个数,达到能辨认连接的两个米粒和不足一个的米粒的精确度,并计算出了米粒的平均大小,标识出了 ...

最新文章

  1. Deep Reading | 从0到1再读注意力机制,此文必收藏!
  2. IntelliJ IDEA 不能识别 Java 项目
  3. 解决浏览器下载excel文件时显示“文件已损坏”
  4. CRM attachment read old API debug
  5. java创建solr core_Error CREATEing SolrCore 'new_core':Unable to create core [new_core]
  6. PPT 如何做好关卡设计
  7. pandas之透视表
  8. 阿里巴巴java_阿里巴巴提供自己的Java发行版
  9. Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx)
  10. 各种水龙头拆卸图解_各种水龙头拆卸图解
  11. 焊缝标注vlx实用程序_机械制图焊缝标注方法!太全了,收藏了
  12. 现在,您可以在YouTube上播放免费的,广告支持的电影
  13. Perl 正则表达式 模式匹配
  14. SDSoC软硬件协同设计流程系列——1.基于SDSoC的软硬件协同设计流程简介
  15. 戴尔服务器显示屏报警PDR1101 fault detected on drive 3. Check drive
  16. 挤牛奶Milking Cows
  17. C++ 创建静态链接库和动态链接库
  18. 如何使用TranslucentTB让你的任务栏变透明
  19. matlab绘制三维奖杯图,我是如何获得“MathorCup”奖杯与万元奖金的?
  20. 基于51单片机的简易电子计算器——有温度显示和万年历等额外功能

热门文章

  1. linux畸形文件夹,Linux下简单的缓冲区溢出
  2. 7p后摄像头抖动修复_节气门清洗后怠速还是抖动,到底什么毛病?
  3. 数据结构实验之二叉树七:叶子问题
  4. 【自动驾驶】毫米波雷达相关知识专题
  5. 【opencv】22.HOG的原理与详细步骤
  6. 【Linux】18.设置静态ip的方法(Ubuntu系统、nas、Red-Hat系统)
  7. 【Java】泛型中 extends 和 super 的区别?
  8. Java集合的使用:List与Map
  9. Apache Spark学习:利用Scala语言开发Spark应用程序
  10. Python计算机视觉:第九章 图像分割