数字图像处理CH6 几何运算.

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2 灰度级插值
– 用最近邻插值和双线性插值的方法分别将老虎放大 1.5倍。
第六章 几何运算
2 灰度级插值
采用最近邻插值放大1.5倍
采用双线性插值放大1.5倍
第六章 几何运算
2 灰度级插值
• 5)比例变换中对应图像的确定
–假设输出图像的宽度为W,高度为H; –输入图像的宽度为w高度为h,要将输入图像的尺度拉伸 或压缩变换至输出图像的尺度; –按照线性插值的方法,将输入图像的宽度方向分为W等 份,高度方向分为H等份; –那么输出图像中任意一点(x,y)的灰度值就应该由输 入图像中四点(a,b)、(a+1,b)、(a,b+1)和 (a+1,b+1)的灰度值来确定。其中a和b的值分别为:
– 从结果图象的坐标计算原图象的坐标 – 旋转、拉伸、放缩可以使用 – 解决了漏点的问题,出现了马赛克
第六章 几何运算
• 把输出像素一次一个地映射回到输入图像中, 以便以便确定其灰度级。如果一个输出像素 被映射到四个输出像素之间。则其灰度值由 灰度级插值决定。 • 向后映射算法是逐像素、逐行地产出输出图 像。每个像素的灰度级由最多四个像素参与 的插值所唯一确定,只需经过一次计算。当 然,这种算法需按空间变换所定义的方式随 机访问输入图像,因而可能有些复杂。虽然 如此,像素填充法对一般的应用更为切实可 行。
• 3)最近邻插值
两种常用方法
– 向后映射时,输出图像的灰度等于离它所映射位置 最近的输入图像的灰度值。
• 4)双线性插值
– 四点确定一个平面函数,属于过约束问题;
– 问题描述:单位正方形顶点已知,求正方形内任一 点的f(x,y)值。
第六章 几何运算
• 最邻近插值法
– 就是最临近点重复
第六章 几何运算
第六章 几何运算
2 灰度级插值
– 假设f(0,0)=2,f(1,0)=3,f(0,1)=1,f(1,1)=4
– 则 f(x,y)=x-y+2xy+2
5 4 3 Z 2 1 0 0.2
1 Y 0.6 0.4
0.2
0.4 X 0.6
0.8
1
第六章 几何运算
2 灰度级插值
第六章 几何运算
2 灰度级插值
第六章 几何运算
数字图像处理
第六章 几何运算
第六章 几何运算
CH6 几何运算
• 一、引言 • 二、灰度级插值
• 三、空间变换
• 四、图像变形 • 五、要点总结 • 习题
第六章 几何运算
1 引言
• 点运算对单幅图像做处理,不改变像素的空间位置; • 代数运算对多幅图像做处理,也不改变像素的空间位 置; • 几何运算对单幅图像做处理,改变像素的空间位置;
第六章 几何运算
step3: 图象饶原点顺时针旋转 角。 a x, y x cos -ysin b x, y x sin +ycos a x, y cos sin 0 x b x, y sin y cos 0 0 1 1 1 0
三角公式:
– 复合变换:绕点(x0,y0)旋转θ角。
a x, y 1 0 b x , y 0 1 0 0 1
x0 cos sin 0 1 0 x0 x y0 sin cos 0 0 1 y0 y 1 0 1 0 0 1 1 0
– 双线性插值的第二种算法
f x,0 f 0,0 x f 1,0 f 0,0 f x,1 f 0,1 x f 1,1 f 0,1 f ( x, y ) f ( x,0) y f x,1 f x,0
注意: 推导中假设顺时针为正值; 若根据惯例,定义逆时针
为正值, 则转换公式为
第六章 几何运算
3 空间变换
不指定是顺时针 还是逆时针, 由 sin sin cos cos sin 值的正负确定 cos cos cos sin sin
a x , y x x0 b x , y y y0 a x, y 1 0 b x, y 0 1 0 0 1 x0 x y0 y 1 1
第六章 几何运算
第六章 几何运算
通过输入图像像素位置, 计算输出 图像对应像素位置;
• 1)向前映射法
x1
将该位置像素的灰度值按某种方 式分配到输出图像相邻四个像素.
x 象 素 移y 交 映 射
y1
f(x1,y1) (x1,y1)整型
f(x,y) (x,y)非整型
第六章 几何运算
2 灰度级插值
• 2)向后映射计算法 g(a’(x,y), b’(x,y)) = f(x,y);
第六章 几何运算
通过输出图像像素位置, 计算输入 图像对应像素位置;
• 2)向后映射法
x1
根据输入图像相邻四个像素的灰 度值计算该位置像素的灰度值 . x
象 素 填y 充 映 射
y1
f(x1,y1) (x1,y1)非整型
f(x,y) (x,y)整型
第六章 几何运算
向后映射法图示
• 如图所示:输出像素A映射到输入图象中 的B点,则灰度级由D周围的a、b、c、d 四个像素的灰度值确定。只需一次计算。
第六章 几何运算
3 空间变换
• 2)多项式卷绕和几何校正
– 几何校正(calibration):由于镜头的几何变形,使 用矩形栅格校准。
– 多项式卷绕:多项式的项数与控制点数相同,解线 性方程组,得系数后矩阵求逆。
测试靶
对应的鱼眼图像
第六章 几何运算
3 空间变换
变形后的老虎
校正后的老虎
第六章 几何运算
• 几何运算包含两个独立的算法:空间变换算法和灰度 级插值算法。
第六章 几何运算
1 引言
Lenna及变形图像
第六章 几何运算
2 灰度级插值
• 1)向前映射计算法 g(x’,y’) = f(a(x,y), b(x,y));
– 从原图象坐标计算出目标图象坐标 – 镜像、平移变换使用这种计算方法
第六章 几何运算
第六章 几何运算
2 灰度级插值
• 两种映射方法的对比
– 对于向前映射:每个输出图像的灰度要经过多次运 算; – 对于向后映射:每个输出图像的灰度只要经过一次 运算。 实际应用中,更经常采用向后映射法。 其中,根据四个相邻像素灰度值计算某位置的像素灰度 值即为灰度级插值。
第六章 几何运算
2 灰度级插值
第六章 几何运算
3 空间变换
• 3)控制栅格插值和图像卷绕
– 控制栅格插值:将图像分成小块进行卷绕变换。 – 常用双线性插值。
G(x,y)=F(ax+by+cxy+d,e+fy+gxy+h)
– 又是双线性插值,区别?(请思考)
第六章 几何运算
Βιβλιοθήκη Baidu3 空间变换
第六章 几何运算
3 空间变换
第六章 几何运算
• 把输入图像的灰度一个一个像素的转移到输 出图像中,如果一个输入像素被映射到四个 输出像素之间的位置,则其灰度值就按插值 算法在四个输出像素之间进行分配,又称为 像素移交(见下页图示)。 • 由于许多输入像素可能映射到输出图像的边 界之外,故向前映射算法有些浪费。而且, 每个输出像素的灰度值可能要由许多输入像 素的灰度值来决定,因而要涉及多次计算。
4 图像变形
http://www.morpheuss oftware.net/
鼠标点击观看演示
第六章 几何运算
4 图像变形
第六章 几何运算
I = imread('cameraman.tif'); udata = [0 1]; vdata = [0 1]; % input coordinate system tform = maketform('projective',[ 0 0; 1 0; 1 1; 0 1],... [-4 2; -8 -3; -3 -5; 6 3]); [B,xdata,ydata] = imtransform(I, tform, 'bicubic', ... 'udata', udata,... 'vdata', vdata,... 'size', size(I),... 'fill', 128); subplot(1,2,1), imshow(udata,vdata,I), axis on subplot(1,2,2), imshow(xdata,ydata,B), axis on
w a x W
h b y H
第六章 几何运算
3 空间变换
• 1)简单变换 • 2)多项式卷绕和几何校正
• 3)控制栅格插值和图像卷绕
第六章 几何运算
3 空间变换
• 1)简单变换
– 问题描述:图像的平移、放缩和旋转。 – 解题思路:从易到难。工具:线性代数中的齐次坐 step1: 图象的平移 标。
第六章 几何运算
• • • •
I = imread('cameraman.tif'); udata = [0 1]; vdata = [0 1]; % input coordinate system tform = maketform('projective',[ 0 0; 1 0; 1 1; 0 1],... [-4 2; -8 -3; -3 -5; 6 3]); • [B,xdata,ydata] = imtransform(I, tform, 'bicubic', ... 'udata', udata,... 'vdata', vdata,... 'size', size(I),... 'fill', 128); • subplot(1,2,1), imshow(udata,vdata,I), axis on subplot(1,2,2), imshow(xdata,ydata,B), axis on
x,y r r a,b
3 空间变换
第六章 几何运算
3 空间变换
a r cos r cos cos r sin sin x cos y sin b r sin r sin cos r cos sin y cos x sin x sin y cos
2 灰度级插值
setp1: 定义双线性方程f x, y ax by cxy d step 2 : 代入已知四点的值 f 0,0 d f 1,0 a d f (0,1) b d f (1,1) a b c d step3: f x, y f 1,0 f 0,0 x f 0,1 f 0,0 y f 1,1 f 0,0 f 1,0 f 0,1 xy f 0,0
3 空间变换
step 2 : 图象在x方向放大c倍,y方向放大d倍。 a x, y cx b x, y dy a x, y c 0 0 x y b x , y 0 d 0 0 0 1 1 1
3 空间变换
– 多项式卷绕的基本原理 – 对于一个有10个点的测试靶,可以设计一个二维三 阶函数拟合。
p x , y c0 c1 x c2 y c3 xy c4 x 2 c5 y 2 c6 x 2 y c7 xy 2 c8 x 3 c9 y 3 p x1 , y1 1 x1 p x2 , y2 1 x2 p x10 , y10 1 x10 y13 c0 3 y 2 c1 3 y10 c9
第六章 几何运算
灰度级插值
• 双线性插值(一阶插值)
第六章 几何运算
4.4.1 几何变换:灰度级插值
• 高阶插值
– 双线性插值的缺陷
• 平滑作用使图象细节退化,尤其在放大时 • 不连续性会产生不希望的结果
– 高阶插值的实现
• 用三次样条插值 • 常用卷积来实现 • 将大大增加计算量
第六章 几何运算
相关文档
最新文档