matlab傅立叶频谱图像,R - 图像的FFT傅里叶频谱

本文介绍如何使用R语言中的EBImage库进行图像处理,包括图像显示、灰度转换及快速傅里叶变换(FFT)等操作。特别地,文中详细展示了FFT的Shift变换过程,以及如何获取FFT变换后的幅度和相位图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

setwd(".../Project/R/Workspace/Task1")

library("EBImage" , lib.loc="~/R/win-library/3.2")

# Image

img

display(img, title='Image')

# Grayscaled

img_gray

# FFT

img_ff

###################################################

###################################################

# FFT SHIFT

fftshift

rows

cols

swap_up_down

rows_half

return(rbind(img_ff[((rows_half+1):rows), (1:cols)], img_ff[(1:rows_half), (1:cols)]))

}

swap_left_right

cols_half

return(cbind(img_ff[1:rows, ((cols_half+1):cols)], img_ff[1:rows, 1:cols_half]))

}

if (dim == -1) {

img_ff

return(swap_left_right(img_ff))

}

else if (dim == 1) {

return(swap_up_down(img_ff))

}

else if (dim == 2) {

return(swap_left_right(img_ff))

}

else {

stop("Invalid dimension parameter")

}

}

ifftshift

rows

cols

swap_up_down

rows_half

return(rbind(img_ff[((rows_half+1):rows), (1:cols)], img_ff[(1:rows_half), (1:cols)]))

}

swap_left_right

cols_half

return(cbind(img_ff[1:rows, ((cols_half+1):cols)], img_ff[1:rows, 1:cols_half]))

}

if (dim == -1) {

img_ff

return(swap_up_down(img_ff))

}

else if (dim == 1) {

return(swap_up_down(img_ff))

}

else if (dim == 2) {

return(swap_left_right(img_ff))

}

else {

stop("Invalid dimension parameter")

}

}

###################################################

###################################################

# FFT SHIFT

# Magnitude and Phase

magntd

phase

img_fftsh

display(log(img_fftsh),title="FFT")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值