数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image 标签: 图像处理MATLAB 2017-05-25 0
实验要求:
高通滤波器可以通过1减去低通滤波器的传递函数得到。
使用公式 计算可以的得到
。
实验代码:
% PROJECT 04-04 Highpass Filtering Using a Lowpass Image
close all;
clc;
clear all;
%
img = imread('Fig4.11(a).jpg');
img = mat2gray(img);
figure;
subplot(2,2,1);
imshow(img);
title('原图像');
% 产生滤波函数
[M, N] = size(img);
P = 2 * M;
Q = 2 * N;
alf = 50;
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(2,2,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(2,2,3);
imshow(img_o, []);
title('高斯低通滤波后的图像');
%
img_gmask = img_o - img;
subplot(2,2,4);
imshow(img_gmask, []);
title('高斯高通滤波后的图像');
前面的代码与此前的实验相同,下面是最后的高通滤波处理。img_o 是前面得到的高斯低通滤波处理后的图像,使用原图像减去它,得到的就是高斯高通滤波后的图像了。
img_gmask = img_o - img;
subplot(2,2,4);
imshow(img_gmask, []);
title('高斯高通滤波后的图像');
实验结果:
数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image 标签: 图像处理MATLAB 2017-05-25 0的更多相关文章
- 数字图像处理实验(总计23个)汇总 标签: 图像处理MATLAB 2017-05-31 10:30 175人阅读 评论(0)
以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...
- virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以
virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以
- Leetcode:面试题 04.04. 检查平衡性
Leetcode:面试题 04.04. 检查平衡性 Leetcode:面试题 04.04. 检查平衡性 Talk is cheap . Show me the code . /** * Definit ...
- install build tools 25.0.2 and sync the project
install build tools 25.0.2 and sync the project in android studio bundle.gradle,将buildToolsVersion修改 ...
- 数字图像处理实验(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 ...
- 数字图像处理实验(15):PROJECT 06-02,Pseudo-Color Image Processing 标签: 图像处理MATLAB 2017-05-27 20:53
实验要求: 上面的实验要求中Objective(实验目的)部分是错误的. 然而在我拿到的大纲中就是这么写的,所以请忽视那部分,其余部分是没有问题的. 本实验是使用伪彩色强调突出我们感兴趣的灰度范围,在 ...
- 数字图像处理实验(14):PROJECT 06-01,Web-Safe Colors 标签: 图像处理MATLAB 2017-05-27 20:45 116人阅读
实验要求: Objective: To know what are Web-safe colors, how to generate the RGB components for a given jp ...
- 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter 标签: 图像处理MATLAB 2017-0
实验要求: Objective: To understand the principle of the notch filter and its periodic noise reducing abi ...
- 数字图像处理实验(11):PROJECT 05-02,Noise Reduction Using a Median Filter 标签: 图像处理MATLAB 2017-05-26 23:
实验要求: Objective: To understand the non-linearity of median filtering and its noise suppressing abili ...
随机推荐
- MYSQL 级联 添加外键
MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作 ...
- plsql基本操作 复制表 导出表 导出表结构 及其导入
上一片中介绍了安装instantclient +plsql取代庞大客户端的安装,这里说下plsql的基本操作 plsql操作界面图: 1.复制表 语句:create table IGIS_COPY a ...
- 【eclipse】 怎么解决java.lang.NoClassDefFoundError错误
前言 在日常Java开 发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,需要花费很多时间去找错误的原因,具体是哪个类不见了?类 明明还在,为什么找不到?而且我 ...
- c#代碼小集
一.字符串[Uri]轉換出RouteData private RouteData UriToRouteData(Uri uri) { var query = uri.Query; ) { query ...
- CENTOS7安装DOCKER步骤以及安装阿里镜像加速后无法正常启动服务的问题2018年1月
本文时间2017年12月7日,比较新,大家可以直接参考.有问题直接评论 我根据菜鸟教程通过yum install docker安装了docker,由于测试发现奇慢无比,所以就安装了阿里云的加速,随后也 ...
- 项目中使用的图片上传方法,base64存本地
//生成健康报告 public function uploadJkbg(Request $r) { $data = $r->all(); $jkbg['jkbg_ctime'] = time() ...
- 使用VS2017 编写Linux系统上的Opencv程序
背景 之前写图像算法的程序都是在window10下使用VS编写,VS这个IDE结合“ImageWatch.vsix“插件,用于调试opencv相关的图像算法程序十分方便.后因项目需要,需将相关程序移植 ...
- 【转】使用JMeter进行负载测试——终极指南
使用JMeter进行负载测试——终极指南 这篇教程讨论的是JMeter,它是一款基于Java的.集合了几个应用程序.具有特定用途的负载和性能测试工具. 本篇主要涉及的内容: 解释一下JMeter的用途 ...
- 注册驱动时如何调用probe函数 ?
platform_driver_register driver_register bus_add_driver //把驱动放入总线的驱动链表里 ...
- C# 面向切面编程--监控日志记录方案
背景:现在公司整体在做监控平台,要求把各个部分的细节都记录下来,在前台页面上有所显示,所以现在需要做的就是一个监控日志的记录工作,今天讲的就是渲染监控日志的例子. 现状:当前的渲染程序没有为监控日志记 ...