Riesz变换MATLAB代码
2016-03-04 14:23
441 查看
function [orientation, phase, amplitude] = riesz(image)
[imHeight, imWidth] = size(image);
%approx riesz, from Riesz Pyramids for Fast Phase-Based VideoMagnification
dxkernel = zeros(size(image));
dxkernel(1, 2)=-0.5;
dxkernel(1,imWidth) = 0.5;
dykernel = zeros(size(image));
dykernel(2, 1) = -0.5;
dykernel(imHeight, 1) = 0.5;
R1 = ifft2(fft2(image) .* fft2(dxkernel));
R2 = ifft2(fft2(image) .* fft2(dykernel));
orientation = zeros(imHeight, imWidth);
phase = zeros(imHeight, imWidth);
orientation = (atan2(-R2, R1));
phase = ((unwrap(atan2(sqrt(R1.^2 + R2.^2) , image))));
amplitude = sqrt(image.^2 + R1.^2 + R2.^2);
end
参考文献
The Riesz transform and simultaneousrepresentations of phase, energy and orientation in spatialvision
[imHeight, imWidth] = size(image);
%approx riesz, from Riesz Pyramids for Fast Phase-Based VideoMagnification
dxkernel = zeros(size(image));
dxkernel(1, 2)=-0.5;
dxkernel(1,imWidth) = 0.5;
dykernel = zeros(size(image));
dykernel(2, 1) = -0.5;
dykernel(imHeight, 1) = 0.5;
R1 = ifft2(fft2(image) .* fft2(dxkernel));
R2 = ifft2(fft2(image) .* fft2(dykernel));
orientation = zeros(imHeight, imWidth);
phase = zeros(imHeight, imWidth);
orientation = (atan2(-R2, R1));
phase = ((unwrap(atan2(sqrt(R1.^2 + R2.^2) , image))));
amplitude = sqrt(image.^2 + R1.^2 + R2.^2);
end
参考文献
The Riesz transform and simultaneousrepresentations of phase, energy and orientation in spatialvision
相关文章推荐
- 恢复matlab文件关联
- matlab坐标轴标注和特殊字体…
- Matlab 之meshgrid interp griddata interp2
- 利用MATLAB视频函数工具箱的…
- [转载]MATLAB内存管理
- matlab实现zbar_scan_y中的EMWA滤波
- MATLAB数字图像处理基础
- MATLAB获取“非免驱的相机或者摄像头”的图像数据
- matlab在数字图像处理中的小笔记(1)
- MATLAB排序函数
- 通俗解释遗传算法及其Matlab实现
- Matlab处理视频文件1
- matlab 中的load介绍
- matlab 中的load介绍
- matlab如何循环读入某一文件夹下的所有图片 对某文件夹下的图片进行重新排序
- ubuntu 开机启动 Dr.com Matlab等应用,程序
- matlab GUI界面设计总结
- matlab GUI新手入门——基本概念
- windows环境下配置caffe及其matlab接口
- matlab如何查看已经出来的图片窗口中物体的各向视图