一幅图像在计算机里就是一个矩阵(如果是RGB彩色图像,就是3个矩阵,每个矩阵表示R,G,B每个通道的值),算术运算就是两个矩阵对应位置像素的算术运算,逻辑运算类似
图像算术运算
图像加法:
定义 C(x, y) = A(x, y) + B(x, y)
主要应用:
去除“叠加性”噪声
如:
对于原图像f(x,y),有一个噪声图像集{gi(x, y)} i = 1,2,3....M
其中gi(x, y) = f(x, y) + hi(x, y)
M个图像的均值定义为g(x, y) = 1 / M(g0(x, y) + g1(x, y) + … + gM(x, y))
上述图像的均值将降低噪声的影响
又如:
一段摄像机静止下拍摄的视频,假设噪声比较明显(满足零均值高斯噪声条件),这段视频的每一帧求和再除以帧数,得到平均值,就能得到一幅干净的无噪声图像;两幅大小一样的图像相加,得到叠加效果
生成图像叠加效果
对于两个图像f(x, y)和h(x, y)的均值有:
g(x, y)=1 / 2 * f(x, y)+1 / 2 * h(x, y)
会得到二次暴光的效果。推广这个公式为:
g(x, y)=αf(x, y)+βh(x, y)
其中α + β = 1。



图像减法:
定义:C(x, y) = A(x, y) - B(x, y)
主要应用:
去除不需要的叠加性图案
设:
背景图像b(x,y),前景背景混合图像f(x,y)
g(x, y) = f(x, y) – b(x, y)
g(x,y)为去除了背景的图



检测同一场景两幅图像之间的变化
设:时间1的图像为T1(x, y)
时间2的图像为T2(x, y)
g(x, y) = T2(x, y) - T1(x, y)

计算物体边界的梯度
在一个图像内,寻找边缘时,梯度幅度(描绘变化陡峭程度的量)的近似计算
|Vf(x, y)|=max(|f(x, y)–f(x+1, y)| , |f(x, y)–f(x, y+1)|)
图像乘法:
定义:C(x, y) = A(x, y) * B(x, y)
主要应用:
图像的局部显示



如第一张图中的蝴蝶是由后两张图进行图像乘法得到的。
用二值蒙板图像与原图像做乘法
改变图像的灰度级



图像除法:
定义:C(x, y) = A(x, y) / B(x, y)
主要应用:
简单的除法运算可用于改变图像的灰度级,常用于遥感图像处理中。可产生对颜色和多光谱图像分析十分重要的比率图像。


图像逻辑运算
“求反”操作
定义:g(x, y) = 255 - f(x, y)
主要应用:
获得一个阴图像

获得一个子图像的补图像

绘制区别于背景的、可恢复的图形
“异或、或”操作
“异或”操作定义:

主要应用:
获得相交子图像
绘制区别于背景的、可恢复的图形


“或”操作定义

主要应用
合并子图像

“与”操作
定义
与操作的定义.png
主要应用
求两个子图像的相交子图

图像几何变换
基本变换
基本几何变换的定义
对于原图像f(x, y),坐标变换函数
x’ = a(x, y)
y’ = b(x, y)
唯一确定了几何变换:
g(x’, y’) = f(a(x, y) , b(x, y));
g(x,y)是目标图像。
表面看没有值的改变。
平移变换
设:
a(x, y) = x + x0;
b(x, y) = y + y0;


旋转变换:绕原点旋转α度
设:
a(x, y) = x * cos(α) - y * sin(α);
b(x, y) = x * sin(α) + y * cos(α);


水平镜像:
设:
a(x, y) = -x;
b(x, y) = y;



垂直镜像
设:
a(x, y) = x;
b(x, y) = -y;



放缩变换:x方向放缩c倍,y方向放缩d倍
设:
a(x, y) = x * c;
b(x, y) = y * d;
拉伸变换

离散几何变换的计算问题
向前映射法
g(x’, y’) = f(a(x, y) , b(x, y));
从原图像坐标计算出目标图像坐标
镜像、平移变换使用这种计算方法
向后映射法
g(a’(x, y) , b’(x, y)) = f(x, y);
从结果图像的坐标计算原图像的坐标
旋转、拉伸、放缩可以使用
解决了漏点的问题,出现了马赛克
灰度级插值
最邻近插值法
最临近点重复

双线性插值(一阶插值)

已知正方形的4个顶点,求正方形内部的点,有双线性方程:
f(x, y) =a * x + b * y + c * x * y + d
设4个顶点的坐标为:
(x0, y0) , (x1, y0) , (x0, y1) , (x1, y1)
f(x, y0)=f(x0, y0) + x[f(x1, y0) – f(x0, y0)] / (x1 – x0)
f(x, y1)=f(x0, y1) + x[f(x1, y1) – f(x0, y1)] / (x1 – x0)
…….
f(x, y)=f(x, y0) + y[f(x, y1) – f(x, y0)] / (y1 – y0)

高阶插值
双线性插值的缺陷
• 平滑作用使图像细节退化,尤其在放大时
• 不连续性会产生不希望的结果
高阶插值的实现
• 用三次样条插值
• 常用卷积来实现
• 将大大增加计算量
图像非几何变换
非几何变换的定义
对于原图像f(x, y),灰度值变换函数T(f(x, y))
唯一确定了非几何变换:
g(x, y) = T(f(x, y))
其中g(x,y)是目标图像,在非几何变换过程中图像数据没有几何位置的改变。
对于彩色原图像f(x, y),颜色值变换函数
Tr(f(x, y));
Tg(f(x, y));
Tb(f(x, y));
唯一确定了非几何变换:
gr(x, y) = Tr(f(x, y))
gg(x, y) = Tg(f(x, y))
gb(x, y) = Tb(f(x, y))
模板运算
模板的定义
所谓模板就是一个系数矩阵
模板的大小
经常是奇数,如:3x3 5x5 7x7
模板的系数
矩阵的元素
w1 w2 w3
w4 w5 w6
w7 w8 w9
模板运算的定义
对于某图像的子图像:
z1 z2 z3
z4 z5 z6
z7 z8 z9
z5的模板运算公式为:
R = w1z1 + w2z2 + ... + w9z9
模板运算举例:均值变换
模板系数:wi = 1/9
计算公式:R = (w1 * z1 + w2 * z2 + ... + w9 * z9)


灰度级变换
灰度级变换的定义(1)
对于输入图像f(x, y),灰度级变换T将产生一个输 出图像g(x, y);
且g(x, y)的每一个像素值,都是由f(x, y)的对应输 入像素点的值决定的。
g(x, y) = T(f(x, y))
灰度级变换的定义(2)
对于原图像f(x, y),灰度值变换函数T(f(x, y))
由于灰度值总是有限个如:0-255 非几何变换可定义为 :
R = T(r)
其中R,r均在在0-255之间取值
灰度级变换的实现
R = T(r) 定义了输入像素值与输出像素之 间的映射关系,通常通过查表来实现。
因此灰度级变换也被称为LUT(Look Up Table)变换。

灰度级变换举例
图像求反


对比度拉伸



动态范围压缩



灰度级切片

直方图
直方图的定义
直方图的定义(1)
一个灰度级别在范围[0,L-1]的数字图像的 直方图是一个离散函数
p(rk)= nk / n
n 是图像的像素总数
nk是图像中第k个灰度级的像素总数
rk 是第k个灰度级,k = 0, 1, 2, ..., L-1

直方图的定义(2)
一个灰度级别在范围[0,L-1]的数字图像的直 方图是一个离散函数p(rk)= nk,k = 0,1,2,...,L-1
由于rk的增量是1,直方图可表示为:p(k)= nk
即,图像中不同灰度级像素出现的次数。
两种直方图定义的比较
p(rk)= nk
p(rk)= nk / n
使用第二种直方图定义的优点
使函数值正则化到[0,1]区间,成为实数函数
函数值的范围与像素的总数无关
给出灰度级rk在图像中出现的概率密度统计




直方图应用举例
直方图均衡化
直方图匹配
步骤:
原始图象灰度级k归一化在[0,1]之间, 0≤r≤1 ;
计算原始图象灰度分布的概率密度函数p(r);
直方图均衡化处理实际上就是寻找一个灰度变换函 数T,使变化后的灰度值s=T(r),其中s归一化为 0≤s≤1 ,即建立r与s之间的映射关系,要求处理后图象 灰度分布的概率密度函数,期望所有灰度级出现概率相同。

结果:
变换后直方图趋向平坦,灰级减少,灰度合并 ➢原始象零灰度级象素个数多于变换后,变换后零灰度级消失
含有象素数多的几个灰级间隔被拉大了,压缩 的只是象素数少的几个灰度级
实际视觉能够接收的信息量增强了
网友评论