数字图像处理实验(9):PROJECT 04-05,Correlation in the Frequency Domain 标签: 图像处理MATLAB 2017-05-25 10:14
实验要求:
Objective:
To know how to implement correlation of 2 functions in the frequency domain and, using the fast algorithms.
Main requirements:
Ability of programming with C, C++, or Matlab.
Instruction manual:
Download Figs. 4.41(a) and (b) and duplicate Example 4.11 to obtain Fig. 4.41(e). Give the (x,y) coordinates of the location of the maximum value in the 2D correlation function. There is no need to plot the profile in Fig. 4.41(f).
实验只是要求给出二维相关函数中最大值位置的(x,y)坐标,没有必要绘制图中的轮廓。
程序实现步骤:
1、将两幅图像的大小都拓展298×298;
2、两幅图像的每个像素都乘以(-1)^(x+y),使其在频域位于中心位置;
3、做傅里叶变换,转换到频域;
4、在频域两幅图像,一个与另一个的共轭相乘计算相关函数;
5、作傅里叶逆变换转换回空间域;
6、乘以(-1)^(x+y),得到最终结果。
要求使用的两幅图:
Figs. 4.41(a):
Figs. 4.41(b):
实验代码:
% Correlation in the Frequency Domain
close all;
clc;
clear all;
%
img_f1 = imread('Fig4.41(a).jpg');
img_f2 = imread('Fig4.41(b).jpg');
[M1, N1] = size(img_f1);
[M2, N2] = size(img_f2);
P = 298;
Q = 298;
img_fp1 = zeros(P, Q);
img_fp2 = zeros(P, Q);
img_fp1(1:M1, 1:N1) = img_f1(1:M1, 1:N1);
img_fp2(1:M2, 1:N2) = img_f2(1:M2, 1:N2);
for x = 1:P
for y = 1:Q
img_fp1(x, y) = img_fp1(x, y) .* (-1)^(x+y);
img_fp2(x, y) = img_fp2(x, y) .* (-1)^(x+y);
end
end
% 傅里叶变换
img_Fp1 = fft2(img_fp1);
img_Fp2 = fft2(img_fp2);
% 求共轭
img_Fp = img_Fp2 .* conj(img_Fp1);
% 傅里叶变换
img_fp = ifft2(img_Fp);
% 乘以(-1)^(x+y)
for x = 1:P
for y = 1:Q
img_fp(x, y) = img_fp(x, y) .* (-1)^(x+y);
end
end
img_fp = real(img_fp);
img_fp = mat2gray(img_fp);
% 显示结果
imshow(img_fp);
max_value = max(max(img_fp));
[row col] = find(img_fp == max_value);
disp(['max value is : ', num2str(max_value)]);
disp(['row: ', num2str(row), ' col: ', num2str(col)]);
实验结果:
这是输出结果的图片,实验要求没必要显示出来。
最后求出的(x,y)位置的坐标。
数字图像处理实验(9):PROJECT 04-05,Correlation in the Frequency Domain 标签: 图像处理MATLAB 2017-05-25 10:14的更多相关文章
- 数字图像处理实验(总计23个)汇总 标签: 图像处理MATLAB 2017-05-31 10:30 175人阅读 评论(0)
以下这些实验中的代码全部是我自己编写调试通过的,到此,最后进行一下汇总. 数字图像处理实验(1):PROJECT 02-01, Image Printing Program Based on Half ...
- ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14
ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14 @https://www.liaoxu ...
- 数字图像处理实验(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 ...
- 数字图像处理实验(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):PROJECT 04-04,Highpass Filtering Using a Lowpass Image 标签: 图像处理MATLAB 2017-05-25 0
实验要求: 高通滤波器可以通过1减去低通滤波器的传递函数得到. 使用公式 计算可以的得到 . 实验代码: % PROJECT 04-04 Highpass Filtering Using a Lowp ...
随机推荐
- EMQ (Erlang/Enterprise/Elastic MQTT Broker)
EMQ (Erlang/Enterprise/Elastic MQTT Broker) https://www.cnblogs.com/SteveLee/p/9843215.html MQ介绍 EMQ ...
- c#和c++互操作(平台调用相关)
[DllImport("ScreenCaptureLib.dll", CallingConvention = CallingConvention.Cdecl)] public st ...
- 《大教堂和集市》笔记——为什么一个本科生业余作品却成了全世界最流行的操作系统之一Linux?
1. Eric Raymond有一篇著名文章<大教堂和集市>(The Cathedral and the Bazaar). 他说,世界上的建筑可以分两种:一种是集市,天天开放在那里,从无到 ...
- CENTOS7配置静态IP后无法ping通外部网络的问题
我今天想谈论的并不是如何配置静态IP,这样的话题已经有好多高手再谈. 我想谈的是为什么,我按照他们的教程无论如何也要发生各种问题,没办法连接外网的问题. 先给大家看我的最终版配置方案:我只修改了一个文 ...
- 几个ssh和sftp的命令
sudo apt-get install openssh-server 装server sudo /etc/init.d/ssh stop sudo /etc/init.d/ssh start sud ...
- 从JVM的角度解析String
1. 字符串生成过程 我们都知道String s = "hello java";会将“hello java”放入字符串常量池,但是从jvm的角度来看字符串和三个常量池有关,clas ...
- Fineui往框架添加选项卡的方法
在主页F.ready(function (){...}方法中添加js代码 // 添加示例标签页 window.addExampleTab = function (id, url, text, icon ...
- java输入月份,年份,显示对应月份的天数,
总结:1,输入月份,年份,这需要用Scanner 2.我们已知道12个月份的天数,有30天,31天 3.判断闰年 用switch -case-break语句 4.注意不要忘了写break;判 ...
- codeforce 980B - Marlin(构造)
Marlin time limit per test 1 second memory limit per test 256 megabytes input standard input output ...
- python开发模块基础:异常处理&hashlib&logging&configparser
一,异常处理 # 异常处理代码 try: f = open('file', 'w') except ValueError: print('请输入一个数字') except Exception as e ...