实验要求:

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:P
for j = 1:Q
H(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:P
for y = 1:Q
img_f(x, y) = img_fp(x, y) .* (-1)^(x+y);
end
end img_F = fft2(img_f); img_G = img_F .* H;
img_g = real(ifft2(img_G)); % img_g = ones .* img_g; for x = 1:P
for y = 1:Q
img_g(x, y) = img_g(x, y) .* (-1)^(x+y);
end
end img_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:P
for j = 1:Q
H(i, j) = exp(-((i-P/2)^2 + (j-Q/2)^2) / (2 * alf^2));
end
end

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

实验结果:



说明:

第一幅图是原始图像;

第二幅是高斯低通滤波器;

第三幅是低通滤波处理后的结果,其较原始图像明显变得更模糊。

数字图像处理实验(7):PROJECT 04-03 , Lowpass Filtering 标签: 图像处理MATLAB 2017-05-25 09:30 109人的更多相关文章

  1. 数字图像处理实验(总计23个)汇总 标签: 图像处理MATLAB 2017-05-31 10:30 175人阅读 评论(0)

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

  2. 数字图像处理实验(5):Proj03-01 ~ Proj03-06 标签: 图像处理matlab 2017-04-30 10:39 184人阅读

    PROJECT 03-01 : Image Enhancement Using Intensity Transformations 实验要求: Objective To manipulate a te ...

  3. Leetcode:面试题 04.03. 特定深度节点链表

    Leetcode:面试题 04.03. 特定深度节点链表 Leetcode:面试题 04.03. 特定深度节点链表 先贴一下自己写过一个模板,按层数遍历: https://www.cnblogs.co ...

  4. 05 SpringMVC:02.参数绑定及自定义类型转换&&04.SpringMVC返回值类型及响应数据类型&&05.文件上传&&06.异常处理及拦截器

    springMVC共三天 第一天: 01.SpringMVC概述及入门案例 02.参数绑定及自定义类型转换 03.SpringMVC常用注解 第二天: 04.SpringMVC返回值类型及响应数据类型 ...

  5. # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机

    [ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...

  6. 数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image 标签: 图像处理MATLAB 2017-05-25 0

    实验要求: 高通滤波器可以通过1减去低通滤波器的传递函数得到. 使用公式 计算可以的得到 . 实验代码: % PROJECT 04-04 Highpass Filtering Using a Lowp ...

  7. 数字图像处理实验(10):PROJECT 05-01 [Multiple Uses],Noise Generators 标签: 图像处理MATLAB 2017-05-26 23:36

    实验要求: Objective: To know how to generate noise images with different probability density functions ( ...

  8. 数字图像处理实验(16):PROJECT 06-03,Color Image Enhancement by Histogram Processing 标签: 图像处理MATLAB 2017

    实验要求: Objective: To know how to implement image enhancement for color images by histogram processing ...

  9. 数字图像处理实验(15):PROJECT 06-02,Pseudo-Color Image Processing 标签: 图像处理MATLAB 2017-05-27 20:53

    实验要求: 上面的实验要求中Objective(实验目的)部分是错误的. 然而在我拿到的大纲中就是这么写的,所以请忽视那部分,其余部分是没有问题的. 本实验是使用伪彩色强调突出我们感兴趣的灰度范围,在 ...

随机推荐

  1. mysql数据库乱码问题

    设置如下:SET character_set_client=utf8; SET character_set_results=utf8; SET character_set_connection=utf ...

  2. yeomen/bower/grunt

    yeomen: npm install yo angular-in-action project npm install -g generator-angular npm install -g gen ...

  3. java关键字---final和transient

    首先,说说final. final关键字可以修饰变量,方法,类.    final变量:         需求:             1 需要一个永不改变的编译时常量             2 ...

  4. hdu5087 Revenge of LIS II (dp)

    只要理解了LIS,这道题稍微搞一下就行了. 求LIS(最长上升子序列)有两种方法: 1.O(n^2)的算法:设dp[i]为以a[i]结尾的最长上升子序列的长度.dp[i]最少也得是1,就初始化为1,则 ...

  5. nginx配置允许指定域名下所有二级域名跨域请求

    核心原理是根据请求域名匹配是否是某域名的二级域名判断是否添加允许跨越头. #畅游www server { listen 8015; server_name test-tl.changyou.com; ...

  6. [leetcode]_Flatten Binary Tree to Linked List

    题目:将一棵二叉树履平成一个类似Linked-list的东西. 思路:该过程类似于二叉树的前序遍历,但是遍历代码,我处理不来参数的变化.没AC. -------->写的很好的解题博客 参考上述博 ...

  7. CodeForces - 896D :Nephren Runs a Cinema(卡特兰数&组合数学---比较综合的一道题)

    Lakhesh loves to make movies, so Nephren helps her run a cinema. We may call it No. 68 Cinema. Howev ...

  8. Greenplum中角色权限及客户端认证管理

    角色权限及客户端认证管理 GP数据库逻辑结构 在GP中,Database(数据库).Schema(模式)以及Role(角色)三者之间的关系如下所示: 一个数据库下可以有多个模式,一个模式只属于一个数据 ...

  9. 【ASP.NET Web API2】初识Web API

    Web Api 是什么? MSDN:ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务 百度百科:Web API是网络应用程序接口. ...

  10. windbg调试实例(4)--句柄泄露

    同事介绍了一篇调试句柄泄露的blog文章,今天有空看了一下,这家伙用视频的方式录下整个调试的过程,学习一目了然,真是有心.鉴于学习的过程总结一下能加深记忆,所以我这里做个记录,感兴趣的朋友可以看这里: ...