数字图像处理实验(7):PROJECT 04-03 , Lowpass Filtering
实验要求:
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相关推荐
- 数字图像处理实验(总计23个)汇总
以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...
- 数字图像处理实验三图像增强
一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的 感性认识,巩固所学的图像增强的理论知识和相 关算法. (2)熟练掌握直方图均衡化和直方图规定化的计算过 程. (3)熟练掌握空域滤波中常 ...
- 数字图像处理实验四图像频域增强
一.实验目的 (1)了解图像增强的目的及意义,加深对图像增强的感性认识,巩固所学的图像增强的理论知识和相关算法. (2)熟练掌握低通.高通.带通.同态滤波器的使用方法,明确不同性质的滤波器对图像的影响 ...
- 数字图像处理matlab实验对图像复原,数字图像处理实验07图像的复原处理
数字图像处理实验 一.数字图像处理实验 实验七 图像的复原处理 一.实验目的 熟悉几种在实际应用中比较重要的图像复原技术,学会用MATLAB复原函数对退化图像进行复原处理. 二.实验内容 1.用点扩散 ...
- 数字图像处理实验——Python语言实现
数字图像处理实验--Python语言实现 实验一:数字图像处理入门 实验二:直方图均衡 实验三:线性平滑和锐化--掩模法 实验四:非线性平滑--中值滤波 实验五:非线性锐化--梯度法 GitHub地址 ...
- 数字图像处理实验5图像复原
一.实验目的 (1)了解图像复原的目的及意义,加深对图像复原理论的认识. (2)掌握维纳滤波复原基本原理. (3)掌握约束最小二乘方复原方法. (4)掌握盲解卷积复原方法 二.实验内容 (1)维纳滤 ...
- 实验1 数字图像处理的MATLAB基础,《数字图像处理(实验部分)》实验1_数字图像处理中MATLAB使用基础...
<数字图像处理(实验部分)>教案 实验一:数字图像处理中MATLAB使用基础实验 一. MATLAB软件安装 二. 进入MATLAB运行环境 三. MATLAB编程基础 3.1.变量 预定 ...
- matlab数字图像实验报告,数字图像处理实验报告(matlab)
数字图像处理实验报告(matlab) 学院:自动化学院 班级:电081班 姓名:李林树 学号:40850099 2011年10月 实验一 直方图均衡化 一. 实验目的: 1. 熟悉图像数据在计算机中的 ...
- 数字图像处理——实验一 Python中数字图像处理的基本操作
数字图像处理--实验一 Python中数字图像处理的基本操作 一.实验目的 二.实验主要仪器设备 三.实验原理 3.1 数字图像的表示和类别 3.2 opencv-python图像文件格式 四.实验内 ...
- c语言米粒数实验报告,数字图像处理实验报告米粒.doc
数字图像处理实验报告米粒 一.任务描述 本次试验的主要任务是用matlab编写程序确定图1(原始图像)中的米粒个数,达到能辨认连接的两个米粒和不足一个的米粒的精确度,并计算出了米粒的平均大小,标识出了 ...
最新文章
- Deep Reading | 从0到1再读注意力机制,此文必收藏!
- IntelliJ IDEA 不能识别 Java 项目
- 解决浏览器下载excel文件时显示“文件已损坏”
- CRM attachment read old API debug
- java创建solr core_Error CREATEing SolrCore 'new_core':Unable to create core [new_core]
- PPT 如何做好关卡设计
- pandas之透视表
- 阿里巴巴java_阿里巴巴提供自己的Java发行版
- Knex: Timeout acquiring a connection. The pool is probably full. Are you missing a .transacting(trx)
- 各种水龙头拆卸图解_各种水龙头拆卸图解
- 焊缝标注vlx实用程序_机械制图焊缝标注方法!太全了,收藏了
- 现在,您可以在YouTube上播放免费的,广告支持的电影
- Perl 正则表达式 模式匹配
- SDSoC软硬件协同设计流程系列——1.基于SDSoC的软硬件协同设计流程简介
- 戴尔服务器显示屏报警PDR1101 fault detected on drive 3. Check drive
- 挤牛奶Milking Cows
- C++ 创建静态链接库和动态链接库
- 如何使用TranslucentTB让你的任务栏变透明
- matlab绘制三维奖杯图,我是如何获得“MathorCup”奖杯与万元奖金的?
- 基于51单片机的简易电子计算器——有温度显示和万年历等额外功能
热门文章
- linux畸形文件夹,Linux下简单的缓冲区溢出
- 7p后摄像头抖动修复_节气门清洗后怠速还是抖动,到底什么毛病?
- 数据结构实验之二叉树七:叶子问题
- 【自动驾驶】毫米波雷达相关知识专题
- 【opencv】22.HOG的原理与详细步骤
- 【Linux】18.设置静态ip的方法(Ubuntu系统、nas、Red-Hat系统)
- 【Java】泛型中 extends 和 super 的区别?
- Java集合的使用:List与Map
- Apache Spark学习:利用Scala语言开发Spark应用程序
- Python计算机视觉:第九章 图像分割