【代码】

data = imread('imge.jfif');  % 数据——最好比卷积核的尺寸大data = im2double(data);data = rgb2gray(data);     % rgb转为灰度图像subplot(1,3,1);imshow(data);title('原始图像')zidai = fft2(data);   % matlab自带函数,来用对比subplot(1,3,2);imshow(real(zidai));  % 一般只要实部title('自带的fft2生成的"频域"图像');size_data = size(data);M = size_data(1);  % 图(原始数据矩阵)的长N = size_data(2);  % 图(原始数据矩阵)的宽% 下面是傅里叶正变换必备的一些矩阵:Wm = exp(-j*2*pi/M);Wn = exp(-j*2*pi/N); % 不同G中用不同的WEm = zeros(M);En = zeros(N);     % E是辅助计算矩阵Gm = zeros(M)+Wm;Gn = zeros(N)+Wn;  % G是计算时要用的矩阵F = zeros(M,N);    % F是转换到频域的结果% 对Gm的计算: 循环长度为Mfprintf('二维离散傅里叶变换开始:\n');for row = 0:M-1for col = 0:M-1Em(row+1,col+1) = row * col;Gm(row+1,col+1) = Gm(row+1,col+1)^Em(row+1,col+1);endend% 对Gn的计算: 循环长度为Nfor row = 0:N-1for col = 0:N-1En(row+1,col+1) = row * col;Gn(row+1,col+1) = Gn(row+1,col+1)^En(row+1,col+1);endendF = real(Gm*data*Gn);  % F = Gm*f*Gn是计算公式,一般只要实部subplot(1,3,3);imshow(F);title('手写的myfft2生成的"频域"图像');

【示例】

【代码2】

data = imread('imge.jfif');  % 数据——最好比卷积核的尺寸大data = im2double(data);data = rgb2gray(data);     % rgb转为灰度图像subplot(1,3,1);imshow(data);title('原始图像')F = fft2(data);subplot(1,3,2);imshow(real(F));  % 一般画图只要实部, 作为输入时实虚都要!!title('自带的fft2生成的"频域"图像');% s = ifft2(F);% subplot(1,3,3);% imshow(s);% return;size_data = size(F);M = size_data(1);  % 图(原始数据矩阵)的长N = size_data(2);  % 图(原始数据矩阵)的宽% 下面是傅里叶逆变换必备的一些矩阵:Wm = exp(-j*2*pi/M);Wn = exp(-j*2*pi/N);  % 不同G中用不同的WEm = zeros(M);En = zeros(N);        % E是辅助计算矩阵Gm = zeros(M)+Wm;Gn = zeros(N)+Wn;  % G是计算时要用的矩阵f = zeros(M,N);    % F是转换到频域的结果% 对Gm的计算: 循环长度为Mfprintf('二维离散反傅里叶变换开始:\n');for row = 0:M-1for col = 0:M-1Em(row+1,col+1) = -row * col;Gm(row+1,col+1) = Gm(row+1,col+1)^Em(row+1,col+1);endendGm = Gm/M;% 对Gn的计算: 循环长度为Nfor row = 0:N-1for col = 0:N-1En(row+1,col+1) = -row * col;Gn(row+1,col+1) = Gn(row+1,col+1)^En(row+1,col+1);endendGn = Gn/N;   % 注意:这个/N和上面的/M都是算完G之后才除以的!因为上面计算的时候是幂项变化!f = real(Gm*F*Gn);  % f = Gm*F*Gn是计算公式,一般只要实部subplot(1,3,3);imshow(f);title('手写的myidft2生成的"原始"图像');error = sum(sum((real(f)-real(data)).^2));if error < 10^(-10)fprintf('反变换后与原图一致!\n');elsefprintf('不一致!\n');end

【示例】

【图像加密】DFT变换算法相关推荐

  1. 阿诺德图像加密c语言,基于Arnold变换的数字图像加密算法

    目前常用的图像置乱方法有Arnold变换.幻方变换.Tangram算法.Conway游戏.Gray码变换等.Arnold变换算法简单且具有周期性,所以在图像信息隐藏方面得到了很好的应用.下面我就给大家 ...

  2. 阿诺德图像加密c语言,基于Arnold置乱的数字图像加密算法(二)

    前文我们介绍了基于Arnold置乱的数字图像加密算法的两种图像置乱变换,今天我们介绍的是另外三种图像置乱变换:基于骑士巡游的图像置乱变换.基于Arnold变换的数字图像置乱和基于仿射变换的置乱变换. ...

  3. 【图像加密】基于Logistic混沌图像加密与解密Matlab代码

    1 简介 当今时代,科学技术发展迅猛,网络成为人们获取成为人们获取多媒体数字信息的主要渠道,数字图像作为日常交流的主要传输媒介,更是承担着信息传递的重任.保证信息在传播过程中的安全性和完整性便成了目前 ...

  4. 图像加密 关于二维Arnold变换,广义Arnold变换和更一般形式变换的练习(Matlab实现)

    索引 1. 将其离散化,应用到图像变换,假设图像大小为 N × N N\times N N×N, ( m n ) = ( 1 1 1 2 ) ( i j ) m o d N , i , j = 0 , ...

  5. 【图像加密】基于matlab GUI正交拉丁方置乱算法图像加解密【含Matlab源码 182期】

    ⛄一.正交拉丁方置乱简介 0 引言 随着通讯技术的飞速发展, 越来越多的领域需要传送数字图像信号, 因此信息的传送安全问题显得越来越重要.通常应用于数字图像通信的两种保护技术为:数字水印技术和图像加密 ...

  6. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  7. 图像迁移风格保存模型_CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、关键步骤配图、案例应用...

    CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介.过程思路.关键步骤配图.案例应用之详细攻略 目录 图像风格迁移算法简介 图像风格迁移算法过程思路 1.VGG对比NS 图像风 ...

  8. Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示

    Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示 第一章:霍夫变换检测圆 ① 实例演示1 ② 实例演示2 ③ 霍夫变换函数解析 第二章:Python + openc ...

  9. CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略

    CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介.过程思路.关键步骤配图.案例应用之详细攻略 目录 图像风格迁移算法简介 图像风格迁移算法过程思路 1.VGG对比NS 图像风 ...

最新文章

  1. 南大和中大“合体”拯救手残党:基于GAN的PI-REC重构网络,“老婆”画作有救了 | 技术头条...
  2. 调查显示:手机单芯片处理器作用日显重要
  3. javascript笔记——cookie解析
  4. BFPTR算法详解+实现+复杂度证明
  5. python如何不跳行打印_python怎么不换行打印
  6. Unity Application Block 3月12 发布的版本
  7. python︱微服务Sanic制作一个简易本地restful API
  8. opencv看图像同导致 python_OpenCV-Python速查:从载入图片到人脸识别
  9. conda install 报错PackagesNotFoundError: 以及和合理使用源的策略
  10. X-Scan使用教程
  11. ECharts官网 标准地图实现
  12. 老毛子固件相关内容!
  13. DSP2812入门3——硬件设计
  14. Flutter 判断网络可用性
  15. 程序员颈椎疼调整办法
  16. javascript中获取非行间样式的方法
  17. Android如何隐藏底部虚拟按键
  18. Android开发之黑科技安装APP无启动图标
  19. cesium颜色值赋值
  20. 《上古5》置业 周详诀巧风向标

热门文章

  1. 【SIP基础】SIP协议中网络角色定义
  2. opencv应用海康案例-拍照并识别方框
  3. uniapp-消息推送
  4. excel 数值转字符函数
  5. 2022卡塔尔世界杯黑科技--半自动越位技术
  6. 呼叫中心智能办公,就用华为云桌面
  7. 卷积神经网络识别图像,卷积神经网络图像处理
  8. 7-164 统计字符个数
  9. Semaphore 是什么?怎么用?
  10. 最新区块链项目-芝士小视频