实验要求:

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:Pfor y = 1:Qimg_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:Pfor y = 1:Qimg_fp(x, y) = img_fp(x, y) .* (-1)^(x+y);end
endimg_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相关推荐

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

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

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

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

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

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

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

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

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

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

  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图像文件格式 四.实验内 ...

最新文章

  1. 一万年太久,只争朝夕
  2. 在C#中操作XM II
  3. 20140408- Network 基本知识
  4. IplImage简介
  5. 每日程序C语言44-反向输出一个链表(递归)
  6. 防止表单重复提交的简单有效的策略
  7. J2CL –迟到总比不到好
  8. 代码控制树视图 c# 1614262980
  9. preg_match_all中的标记
  10. java有pyuserinput包吗_PyUserInput安装
  11. 洛谷——P1838 三子棋I
  12. 2022: Python下载安装教程
  13. Unity Shader学习记录第一章
  14. 卡巴斯基7.0反病毒一年激活码免费领取(官方活动,现已停止)
  15. kd树的根节点_多维空间分割树--KD树
  16. 新国标下的2020年电动单车企业蓬勃发展
  17. 微信小程序初级——快递查询(利用聚合数据接口开发)
  18. AG-DST论文笔记
  19. html中js alert函数,javascript的alert是什么
  20. [每日短篇] 5 - Sublime Text 的正则表达式 Capturing Group

热门文章

  1. linux 有空格的文件夹,Linux之删除带有空格的文件
  2. redis-server启动但进程里没有_Redis——服务器的启动过程
  3. 【数学和算法】奇异值分解在【图像压缩】中的应用
  4. 机器学习系列(2)_从初等数学视角解读逻辑回归
  5. 深入理解Java类型信息(Class对象)与反射机制
  6. Chrome神器Vimium快捷键学习记录
  7. C++ 中常用数学函数
  8. 在Java中如何高效的判断数组中是否包含某个元素
  9. 160家优秀国外技术公司博客
  10. [BetterExplained]遇到问题为什么应该自己动手