数字图像处理-4第四章图像变换

合集下载

数字图像处理ch4imagetransform

数字图像处理ch4imagetransform

:

f x F ue j 2ux du

正反傅里叶变换的惟一区别是幂的符号。函数 f(x)和 F(u) 被称作一个傅里叶变换对。
8
4.1 Continuous Fourier Transformation
这里 f x 是实函数,它的傅里叶变换 F u 通常是 复函数。 F u 的实部、虚部、振幅、能量和相位分别表示如 下: Ru f t cos2ut dt Real part:
I u, v u, v arctan Ru, v
E u, v R2 u, v I 2 u, v
12
4.2 Discrete Fourier Transform
在数字图像处理中应用傅里叶变换,需要解决两个问题: (1)数学中进行傅里叶变换的f(x)为连续(模拟)信号,而 计算机处理的是数字(图像数据)信号。 (2)数学上采用无穷大概念,而计算机只能进行有限次计 算。 提出了离散傅里叶变换
6
Chapter 4 Image Transformation

20世纪50年代后期,数字计算机的出现和快速 Fourier变换算法的“发明”在信号处理领域产 生了巨大变革。这两个核心技术可以对人类本身 的特殊信号和工业的重要信号进行实际处理和有 意义的解释。 在数字图像应用领域,傅里叶变换起着非常重要 的作用,用它可完成图像分析、图像增强及图像 压缩等工作。
Fourier spectrum:
Phase:
F u, v R 2 (u, v) I 2 u, v
I u, v u, v arctan Ru, v Energy spectrum:
P u, v F u, v R2 u, v I 2 u, v

04_正交变换1

04_正交变换1

若A为酉矩阵,对于任意向量f 的运算称为酉变换:
g Af f A*T g g ( k ) a ( k , n) f ( n) f ( n) a * ( k , n) g ( k )
k 0 n 0 N 1 N 1
第四章 图像处理中的正交变换
刘定生 中科院对地观测与数字地球科学中心
a
k 1
n
ki
a kj
C 0
i j i j
当C=1时,称归一化正交
第四章 图像处理中的正交变换
刘定生 中科院对地观测与数字地球科学中心
16
图像的频域变换——理论基础
正交函数的离散情况
N 个正交向量矩阵
a11 a A 21 an1
a12 a22 an 2
f (x) a nu n (x) n0
可有:
t0 T
t0

2 f ( x ) f ( x ) d x
则称函数U 集合是完备的。
第四章 图像处理中的正交变换
刘定生 中科院对地观测与数字地球科学中心
13
图像的频域变换——理论基础
正交函数集合完备性的物理意义
任何数量的奇函数累加仍为奇函数 任何数量的偶函数累加仍为偶函数
刘定生 中科院对地观测与数字地球科学中心
4
图像的频域变换——理论基础

线性系统
线性系统的定义:
对于某特定系统,有:
x1(t) x2(t) x1(t) + x2(t)
从而有:a·x1(t)
第四章 图像处理中的正交变换
y1(t) y2(t) y1(t) + y2(t) a·y1(t)
刘定生 中科院对地观测与数字地球科学中心

数字图像处理(冈萨雷斯)-4_fourier变换和频域介绍(dip3e)经典案例幻灯片PPT

数字图像处理(冈萨雷斯)-4_fourier变换和频域介绍(dip3e)经典案例幻灯片PPT

F (u,v)
F *(u, v)
f ( x ,y ) ☆ h ( x ,y ) i f f t c o n j F ( u , v ) H ( u , v )
h(x,y):CD 周期延拓
PAC1
h:
PQ
QBD1
DFT
H (u,v)
F*(u,v)H(u,v)
IDFT
R(x,y):PQ
✓ 使用这组基函数的线性组合得到任意函数f,每个基函数的系 数就是f与该基函数的内积
图像变换的目的
✓ 使图像处理问题简化; ✓ 有利于图像特征提取; ✓ 有助于从概念上增强对图像信息的理解;
图像变换通常是一种二维正交变换。
一般要求: 1. 正交变换必须是可逆的; 2. 正变换和反变换的算法不能太复杂; 3. 正交变换的特点是在变换域中图像能量将集中分布在低频率 成分上,边缘、线状信息反映在高频率成分上,有利于图像处理
4.11 二维DFT的实现
沿着f(x,y)的一行所进 行的傅里叶变换。
F (u ,v ) F ( u , v ) (4 .6 1 9 )
复习:当两个复数实部相等,虚部互为相 反数时,这两个复数叫做互为共轭复数.
4.6
二维离散傅里叶变换的性质
其他性质:
✓尺度变换〔缩放〕及线性性
a f( x ,y ) a F ( u ,v ) f( a x ,b y ) 1 F ( u a ,v b ) |a b |
域表述困难的增强任务,在频率域中变得非常普通
✓ 滤波在频率域更为直观,它可以解释空间域滤波的某些性质
✓ 给出一个问题,寻找某个滤波器解决该问题,频率域处理对 于试验、迅速而全面地控制滤波器参数是一个理想工具
✓ 一旦找到一个特殊应用的滤波器,通常在空间域用硬件实现

遥感数字图像处理-第四章_遥感数字图像增强处理(一)[研究材料]

遥感数字图像处理-第四章_遥感数字图像增强处理(一)[研究材料]
度值或亮度值区间像元出现的频率的分布图。
计算方法:
Pi
mi M
M表示整幅图像的像元个数
M表示整幅图像的像元个数
Pi表示第i灰度级的像元比例频率
X和
调研学习
13
直方图的性质
(1)直方图反映了图像中的灰度分布规律,描述每个灰度 级具有的像元个数,但不包含这些像元在图像中的位置;
(2)任何图像有唯一的直方图,不同的图像可能有相同的 直方图;
六、图像运算 Image Calcu.
七、多光谱增强 M调u研l学ti习-spectral Enhancement
1
一、图像增强概述
➢ 什么是图像增强?
Image enhancement is the process of making an image more interpretable for a particular application ( Faust, 1989).
空间域增强:空间域是指图像平面所在的二维平面。 直接处理图像上的像素,主要对灰度进行操作;
1)点处理:每次对单个像元进行灰度增强的处理 2)邻域处理或模板处理:对一个像元及其周围的小区域子
图像进行处理
频率域增强:对图像经傅立叶变换后的频谱成分进 行操作,然后经傅立叶逆变换获得所需结果
调研学习
6
➢图像增强的分类
调研学习
2
➢ 图像增强的目的
主要目的:(1)采用一系列技术改善图像的视觉效 果,提高图像的清晰度;(2)将图像转换成一种 更适合于人或机器进行解译和分析处理的形式。
改变图像的灰度等级,提高图像的对比度; 消除边缘和噪声,平滑图像; 突出边缘和线状地物,锐化图像; 合成彩色图像; 压缩图像数据量,突出主要信息等。

遥感数字图像处理-第4章 变换域处理方法

遥感数字图像处理-第4章 变换域处理方法
颜色空间是用一种数学方法来形象化地表示颜色,颜色空 间常用来指定和产生颜色。
颜色空间中的颜色通常用代表3个参数的3维坐标来描述, 其颜色要取决于所使用的坐标。大部分遥感数据都采用 RGB颜色空间来描述,但对图像进行一些可视分析时,也 会使用其他颜色空间(如HSI模型)。
10
七、颜色空间变换
颜色空间分类
第4章
变换域处理方法
为什么要进行变换域处理?
换一个角度来看数字图像
空间域图像直观地为我们提供了丰富的空间和数字信息, 但如果我们将空间域图像进行某种变换,将会较为容易地 识别出一些在原始图像上无法直观看到的信息,从而有利 于图像的后续处理。
介绍常用的数字图像变换算法原理及其应用,旨 在为后续章节的图像变换域处理提供基础。
用三棱镜! 如果想把一段音频文件不同频率的声音检测出来怎么办?
用傅立叶变换!
8
六、小波变换
小波变换与傅里叶变换类似,都是把一个信号分解成一组 正交信号,但不同于傅里叶变换中使用的三角函数,小波 变换是用由零开始由零结束、中间为一段震荡的波来表示 信号,它是一种能量在时域非常集中的波。
9
七、颜色空间变换
“鸡尾酒会问题”
在嘈杂的鸡尾酒会上,许多
(Cocktail Party Problem) 人在同时交谈,可能还有背
景音乐,但人耳却能准确而
清晰的听到对方的话语。
从混合声音中选择自己感兴 趣的声音而忽略其他声音的 现象
7
五、傅里叶变换
人的视觉系统时时刻刻都在进行“分离信号”这种行为:看 见不同的颜色,听到不同频率的声音,甚至尝到酸甜苦辣咸 这五种不同的味道也是一种识别不同信号的表现。 而傅立叶变换正是一种通过频率来分离不同信号的方法! 如果想把自然光中的七色成分分离出来怎么办?

数字图像处理及MATLAB实现实验四——图像变换

数字图像处理及MATLAB实现实验四——图像变换

数字图像处理及MATLAB实现实验四——图像变换1.图像的傅⾥叶变换⼀(平移性质)傅⾥叶变换的平移性质表明了函数与⼀个指数项相乘等于将变换后的空域中⼼移到新的位置,并且平移不改变频谱的幅值。

I=imread('1.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('2.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));I=imread('3.bmp');figure(1)imshow(real(I));I=I(:,:,3);fftI=fft2(I);sfftI=fftshift(fftI); %求离散傅⾥叶频谱%对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置RRfdp1=real(sfftI);IIfdp1=imag(sfftI);a=sqrt(RRfdp1.^2+IIfdp1.^2);a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;figure(2)imshow(real(a));实验结果符合傅⾥叶变换平移性质2.图像的傅⾥叶变换⼆(旋转性质)%构造原始图像I=zeros(256,256);I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐imshow(I)%求原始图像的傅⾥叶频谱J=fft2(I);F=abs(J);J1=fftshift(F);figureimshow(J1,[550])%对原始图像进⾏旋转J=imrotate(I,90,'bilinear','crop');figureimshow(J)%求旋转后图像的傅⾥叶频谱J=fft2(I);F=abs(J);J2=fftshift(F);figureimshow(J2,[550])3.图像的离散余弦变换⼀%对cameraman.tif⽂件计算⼆维DCT变换RGB=imread('cameraman.tif');figure(1)imshow(RGB)I=rgb2gray(RGB);%真彩⾊图像转换成灰度图像J=dct2(I);%计算⼆维DCT变换figure(2)imshow(log(abs(J)),[])%图像⼤部分能量集中在左上⾓处figure(3);J(abs(J)<10)=0;%把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像K=idct2(J)/255;imshow(K)4.图像的离散余弦变换⼆% I=imread('1.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('2.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% I=imread('3.bmp');% figure(1)% imshow(real(I));% I=I(:,:,3);% fftI=fft2(I);% sfftI=fftshift(fftI); %求离散傅⾥叶频谱% %对原始图像进⾏⼆维离散傅⾥叶变换,并将其坐标原点移到频谱图中央位置% RRfdp1=real(sfftI);% IIfdp1=imag(sfftI);% a=sqrt(RRfdp1.^2+IIfdp1.^2);% a=(a-min(min(a)))/(max(max(a))-min(min(a)))*225;% figure(2)% imshow(real(a));% %构造原始图像% I=zeros(256,256);% I(88:168,124:132)=1; %图像范围是256*256,前⼀值是纵向⽐,后⼀值是横向⽐% imshow(I)% %求原始图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J1=fftshift(F);figure% imshow(J1,[550])% %对原始图像进⾏旋转% J=imrotate(I,90,'bilinear','crop');% figure% imshow(J)% %求旋转后图像的傅⾥叶频谱% J=fft2(I);% F=abs(J);% J2=fftshift(F);figure% imshow(J2,[550])% %对cameraman.tif⽂件计算⼆维DCT变换% RGB=imread('cameraman.tif');% figure(1)% imshow(RGB)% I=rgb2gray(RGB);% %真彩⾊图像转换成灰度图像% J=dct2(I);% %计算⼆维DCT变换% figure(2)% imshow(log(abs(J)),[])% %图像⼤部分能量集中在左上⾓处% figure(3);% J(abs(J)<10)=0;% %把变换矩阵中⼩于10的值置换为0,然后⽤idct2重构图像% K=idct2(J)/255;% imshow(K)RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000110000001000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);RGB=imread('cameraman.tif');I=rgb2gray(RGB);I=im2double(I); %转换图像矩阵为双精度型T=dctmtx(8); %产⽣⼆维DCT变换矩阵%矩阵T及其转置T'是DCT函数P1*X*P2的参数B=blkproc(I,[88],'P1*x*P2',T,T');maxk1=[ 1111000011100000100000000000000000000000000000000000000000000000 ]; %⼆值掩模,⽤来压缩DCT系数B2=blkproc(B,[88],'P1.*x',mask1); %只保留DCT变换的10个系数I2=blkproc(B2,[88],'P1*x*P2',T',T); %重构图像figure,imshow(T);figure,imshow(B2);figure,imshow(I2);5.图像的哈达玛变换cr=0.5;I=imread('cameraman.tif');I=im2double(I)/255; %将读⼊的unit8类型的RGB图像I转换为double类型的数据figure(1),imshow(I);%显⽰%求图像⼤⼩[m_I,n_I]=size(I); %提取矩阵I的⾏列数,m_I为I的⾏数,n_I为I的列数sizi=8;snum=64;%分块处理t=hadamard(sizi) %⽣成8*8的哈达码矩阵hdcoe=blkproc(I,[sizi sizi],'P1*x*P2',t,t');%将图⽚分成8*8像素块进⾏哈达码变换%重新排列系数CE=im2col(hdcoe,[sizi,sizi],'distinct');%将矩阵hdcode分为8*8互不重叠的⼦矩阵,再将每个⼦矩阵作为CE的⼀列[Y Ind]=sort(CE); %对CE进⾏升序排序%舍去⽅差较⼩的系数,保留原系数的⼆分之⼀,即32个系数[m,n]=size(CE);%提取矩阵CE的⾏列数,m为CE的⾏数,n为CE的列数snum=snum-snum*cr;for i=1:nCE(Ind(1:snum),i)=0;end%重建图像re_hdcoe=col2im(CE,[sizi,sizi],[m_I,n_I],'distinct');%将矩阵的列重新组织到块中re_I=blkproc(re_hdcoe,[sizi sizi],'P1*x*P2',t',t);%进⾏反哈达码变换,得到压缩后的图像re_I=double(re_I)/64; %转换为double类型的数据figure(2);imshow(re_I);%计算原始图像和压缩后图像的误差error=I.^2-re_I.^2;MSE=sum(error(:))/prod(size(re_I));。

精品文档-数字图像处理系统导论(郭宝龙)-第4章

精品文档-数字图像处理系统导论(郭宝龙)-第4章
算子是线性二阶微分算子。对离散的数字图 像而言,二阶偏导数可用二阶差分近似,可推导出Laplacian 算子表达式为
2 f (x, y) f (x 1, y) f (x-1, y) f (x, y 1) f (x, y-1)-4 f (x, y)
下面以一幅3×2像素的简单图片(见图4-5)为例,来说明 灰度直方图均衡化的算法。
图 4-4 直方图变化
图 4-5 原图像灰度值分布
求出每个色阶的百分比之后,再乘255,就可以求出与其 对应的灰度值来。表4-1所示为对应灰度值转换。
表4-1 对应灰度值转换
根据每个色阶的百分比的对应关系组成一个灰度映射表, 然后根据映射表来修改原来图像每个像素的灰度值。对于图45,用128替换50,用212替换100,用255替换200。这样,灰 度直方图的均衡化就完成了,如图4-6所示。
2. 图像中的均匀与不均匀反映了频率高低不同,抑制低频 (增强高频)对应于锐化滤波器,而抑制高频(增强低频)对应 于平滑滤波器。以下讨论考虑对F(u,v)的实部、虚部影响完 全相同的滤波转移函数——零相移滤波器。 1) 理想低通滤波器 理想低通滤波器的传递函数为
1 H (u, v) 0
D(u, v) D0 D(u, v) D0
图 4-10 原始图像及其傅里叶频谱图
1. 假定原图像为f(x,y),经傅里叶变换为F(u,v)。频率 域增强就是选择合适的滤波器H(u,v)对F(u,v)的频谱成分 进行处理G(u,v)=H(u,v)F(u,v),然后经逆傅里叶变换得 到增强的图像g(x,y)=F-1({G(u,v)} 假设f(x,y)和h(x,y)的大小分别为A×B和C×D。如果 直接进行傅里叶变换和乘积,会产生折叠误差(卷绕)。为解决 这一问题,需通过对f和h补零,构造两个大小均为P×Q的函 数,使其满足

第四章数字图像的变换域处理

第四章数字图像的变换域处理
>>FC=fftshift(F);
Lena图像的移动后的频谱结果显示于图4.2中,对比图4.2与图4.1(b),可以看出其移动效果。
例4.1利用卷积定理计算两个矩阵A、B的卷积
>>[M,N]=size(A);
>>[P,Q]=size(B);
>>p1=M+P-1;
>>q1=N+Q-1;
>>A1=fft2(A,p1,q1);
>>T=dctmtx(n);
函数返回值T为 的变换核矩阵,对于 的方阵A,可以使用矩阵运算B=T*A*D’计算其DCT变换。
例4.3利用Dctmtx()函数编程实现对Lena图片计算其离散余弦变换。
>>f=imread('E:\matlab7\lena.bmp');
>>g=rgb2gray(f);
一维离散线性变换可以表示为变换矩阵形式,对于一个 的向量 ,其离散线性变换可以表示为:
(4-21)
其中, 为变换结果, 为 的变换矩阵,如果 矩阵是非奇异的,其逆矩阵 存在,其逆变换可以表示为:
(4-22)
如果逆矩阵 等于变换矩阵的 共轭转置,有
(4-23)
则称 矩阵为酉矩阵,对应的变换为酉变换。离散傅里叶变换的也可写成式(4-21)的矩阵表示,变换矩阵 为:
>>B1=fft2(B,p1,q1);
>>C=A1.*B1;
>>C1=ifft2(C);
其中fft2(A,p1,q1)是将图像A扩展为 矩阵后再计算其傅里叶变换。
4.2离散余弦变换
4.2.1离散余弦变换
离散余弦变换(Discrete CosineTransform, DCT)的变换基矢量为余弦函数,一维离散余弦变换的基矢量为:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

%读取图像 %设置平移坐标
%移动原图像 %设置平移坐标
%移动原图像
思考题: 如何用FFT实现亚像素级图像平移?
图像的缩放
(3)图像的缩放
u sx
v


0
1 0
0 0 x
sy
0

y
0
1 1
[X,map]=imread(‘trees.tif’);%读取图像 J1=imresize(X,0.25,’bilinear’);%设置缩放比例,实现缩放图像并显示 J2=imresize(X,3.5,’bicubic’);
1. 图像按比例缩小:
最简单的是减小一半,这样只需取原 图的偶(奇)数行和偶(奇)数列构成 新的图像。
2. 图像不按比例缩小:
这种操作因为在x方向和y方向的缩 小比例不同,一定会带来图像的几何畸变。
图像的减半缩小效果
返回
图像的按比例缩小效果
返回
图像的不按比例任意缩小
返回
图像的成倍放大效果
灰度插值
数字图像处理只能对坐标网格点(离散点) 的值进行变换。而坐标变换后产生的新坐标 值同网格点值往往不重合,因此需要通过内 插的方法将非网格点的灰度值变换成网格点 的灰度值,这种算法称为灰度内插。
最邻近插值法 双线性插值(一阶插值) 高阶插值
最邻近插值法
计算与点P(x0,y0)临近的四个点; 将与点P(x0,y0)最近的整数坐标点(x,y)
f (x, y 1) f (x 1, y)]

y0
1

上述变换虽然可以实现图像各像素点的平移变换, 但为变换运算时更方便,一般将2×3阶变换矩阵T进
一步扩充为3×3方阵,即采用如下变换矩阵:
1
0
x
T 0
1
y

0
0
1
这样一来,平移变换可以用如下形式表示:
x1 1
0
x x0
返回
图像的不按比例放大
返回
空间变换
(3)图像的镜像
x'

y'

x(水平镜像 y
)
x'

y'

x
(垂直镜像) y
水平镜像
垂直镜像
y
0,0
x
y
0,0
x
水平镜像的变换结果
图像的垂直镜像
空间变换
(4)图像的旋转
u cos sin x

空间变换 灰度插值
空间变换
(1)齐次坐标 几何变换一般形式

x1 y1


T

x0 x0


a c
b x0
d

Hale Waihona Puke x0 根据几何学知识,上述变换可以实现图像各 像素点以坐标原点的比例缩放、反射、错切和旋 转等各种变换,但是上述2×2变换矩阵T不能实现 图像的平移以及绕任意点的比例缩放、反射、错 切和旋转等变换。

y1


0
1
y


y0

1 0
0
1 1
空间变换
(2)图像的平移
u x x v y y
注意:平移后的景物与原图像相同,但“画布”一 定是扩大了。否则就会丢失信息。
用Matlab实现图像的平移变换。 解 Matlab程序如下: close all ; clear all ; clc ; I=imread(‘lena.bmp’); a=50;b=50; J1=move(I,a,b); a=-50;b=50; J2=move(I,a,b);
第四章 图像变换
几何变换 正交变换
1. 几何变换概念
图像的几何变换(Geometric Transformation) 是指图像处理中对图像平移、旋转、放大和缩小,这 些简单变换以及变换中灰度内插处理等。
几何变换可能改变图像中各物体之间的空间位
置关系。几何变换不改变像素值,而可能改变 像素所在的位置。
的灰度值取为P(x0,y0) 点灰度近似值。
双线性插值
根据点P(x0,y0)的四个相邻点的灰度值, 通过两次插值计算出灰度值f(x0,y0)
双线性插值公式
f (x0, y0 )
f (x, y) [ f (x 1, y) f (x, y)] [ f (x, y 1) f (x, y)] [ f (x 1, y 1) f (x, y)
y
0,0
x
图 旋转前的图像
图 旋转15°并进行插值处理的图像
如图所示,图像经过了两次45º和135º旋转变 换,旋转360º之后,图像(b)的字迹发生了较明显 的变化,特别是字体的边缘更为明显。
灰度插值
图像的比例缩放、 旋转变换时等,变换过程需要 两个独立的算法:
一个算法完成几何变换; 一个算法用于灰度级插值.


1 0
0
1


x0 y0


x y

即不能表示为如下形式:

x1 y1


a c
b x0
d


y0

由于矩阵T中没有引入平移常量,无论a、b、c、d 取什么值,都不能实现式平移功能。
不能实现平移变换功能,怎么办?需要进行改进。
将T矩阵扩展为如下2×3变换矩阵,其形式为:
1 0 x
T 0
1
y
根据矩阵相乘的规律,在坐标列矩阵
[x y] T中引入第三个元素,扩展为3×1的
列矩阵[x y 1]T,就可以实现点的平移变
换。变换形式如下:

x1 y1


1 0
0 1
x y

x0
为了能够用统一的矩阵线性变换形式,表示和实 现这些常见的图像几何变换,就需要引入一种新的坐 标,即齐次坐标。采用齐次坐标可以实现上述各种几 何变换的统一表示。
如图所示,则新位置A1(x1,y1) 的坐标为:

x1 y1

x0 y0
x y
表示为如下形式

x1 y1
v


sin
cos


y

30
x' 0.866x 0.5y

y'

0.5x

0.866y
I=imread(‘office_2.jpg’);%读取图像 J1=imrotate(I,30);%设置旋转角度,实现逆时针旋转30° J2=imrotate(I,-30);%设置旋转角度,实现顺时针旋转30°
相关文档
最新文档