先将图片矩阵化,对不同的通道分别进行二维傅里叶变换。二维离散傅里叶变换是将图像从空间域转换到频域的变换方法。图像实质上是二维的数表或矩阵。将空间域(二维灰度数表)的图像转换到频域(频率数表)能够更直观地观察和处理图像,也更有利于进行频域滤波等操作。二维离散傅里叶变换的公式如图。 随后在时域上对x、y方向上进行差分后再叠加,最后让所得矩阵借助不同的灰度等级将其逐步调节即可展现为浮雕效果。
浮雕效果之傅里叶变换
一、工作原理
式中 f(x,y) 代表一幅大小为 M x N 的矩阵,其中 x = 0,1,2,···,M-1 和 y = 0,1,2,···,N-1 ,F(u,v) 表示 f(x,y) 的傅里叶变换。可以转换为三角函数表示方法,其中 u 和 v 可用于确定正余弦的频率。 F(u,v) 所在坐标系被称为频域,由 u = 0,1,2,···,M-1 和 v = 0,1,2,···,N-1 定义的 M x N 矩阵常称为频域矩阵。f(x,y) 所在坐标系被称为空间域, 由 x = 0,1,2,···,M-1 和 y = 0,1,2,···,N-1 所定义的 M x N 矩阵常被称为空间域矩阵。显然频域矩阵的大小与原空间域矩阵大小相同。频域矩阵中每个点的都代表了一个频率为 u,v 的函数,这些函数在空间域的组合即为原函数 f(x,y)。二、matlab源代码
function final_image=relief(image,no_channel) %no_channel:灰度图为1, rgb图片为3 [h,w,~]=size(image); fx=linspace(floor(-w/2)+1,floor(w/2),w); fx=fx/w*2*pi*1i; fy=linspace(floor(-h/2)+1,floor(h/2),h); fy=fy'/h*2*pi*1i; final_image=zeros(size(image)); for i=1:no_channel s=double(image(:,:,i)); f=fftshift(fft2(s)); df_y=f.*(1-exp(-fy)); df_x=(1-exp(-fx)).*f; df=df_x+df_y; final_image(:,:,i)=real(ifft2(ifftshift(df))); end final_image=uint8(final_image+128); imshow(rgb2gray(final_image)) end
三、成果展示
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算