目录
图像处理基础知识
数字图像的表示
f(x,y)——灰度级值,又称灰度矩阵,取值范围为[0,L-1]其中,L=2k。则相应的,k=1时,就是所谓的二值图像。
数字图像的空间分辨率即灰度级分辨率
定义:空间分辨率 :图像中可辨别的最小细节
定义:灰度级分辨率 :在灰度级别中可辨别的最小变化
像素间的基本关系
相邻像素
- 4邻域——N4( P)
- 对角邻域——ND( P) : (x+1, y+1)、(x+1, y-1)、(x-1, y+1)、(x-1, y-1)
- 8邻域——N8( P)
- N8( P) = N4( P) + ND( P)
邻接性与连通性
- 邻接性(Adjacency):两个像素是否相邻以及它们的灰度值是否满足特定的相似性准则
- 令V为定义邻接性的灰度值集合,()例如,在具有5级灰度等级的图像中,当V={0,1,2} 时,意味着灰度值为0或1或2的像素满足灰度值相似准则。)
- 连通性 :
- 通路(Path):从像素p(x0,y0)到像素q(xn,yn)的通路是指一个像素序列(x0,y0),(x1,y1),…,(xn,yn),其中像素(xi,yi)和(xi-1,yi-1)是邻接的。此处,n为通路的长度。
- 如果(x0,y0) = (xn,yn), 则通路为闭合通路。
- 根据邻接关系,通路分为4通路、8通路和m通路
- 设p和q是一个图像子集S中的两个像素,如果存在一条完全由在S中的像素组成的从p到q的通路,则称p在S中与q相连通。
- 连通成分 :一个像素集合,如果集合内的每一个像素与集合内的其他像素连通,则称该集合为一个连通成分。
像素间的距离
像素在空间的接近程度可用像素之间的距离来度量。
三种距离的定义:
- 欧氏距离:欧氏距离(Euclidean Distance)De(p,q) = [( x –s )2+( y –t )2]1/2
- 城市街区距离:D4(p,q) = | x –s | + | y –t |
- 棋盘距离:D8(p,q) = max ( | x –s | , | y –t | )
数字图像文件格式
图像根据构图原理和描述方式的不同,可以分为两类:矢量图,位图。
- 矢量图:是一种面向对象的、基于数学方法的图形方式。它以对象为中心,通过对每个对象的数学描述来存储图像。常用于工程应用(如工程制图)和艺术领域,极少用于自然图像
- 位图:位图又称点阵图像,它以像素为单位,描述图像的实际信息,适合于描述自然界的图像
BMP图像文件格式
BMP(Bitmap)格式是微软公司为其Windows操作系统设置的标准图像格式。BMP图像文件是个人计算机上最常见、最简单的文件格式之一。BMP图像文件扩展名为.bmp或.BMP
文件头数据结构:
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // 必须是0x424D,’BM’;2B
DWORD bfSize; // 文件大小,包括结构本身; 4B
WORD bfReserved1; // 保留字,必须为0;2B
WORD bfReserved2; // 保留字,必须为0; 2B
DWORD bfOffBits; // 图像数据偏移量;4B
} BITMAPFILEHEADER;
位图信息头数据结构:
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize; //结构本身的大小(40字节)
LONG biWidth; //图像宽度
LONG biHeight; //图像高度
WORD biPlanes; //显示设备的平面数目(取1)
WORD biBitCount; //每个像素颜色需要的位数
DWORD biCompression; //压缩标志
DWORD biSizeImage; //图像数据字节数
LONG biXPelsPerMeter; //图像x方向分辨率
LONG biYPelsPerMeter; //图像y方向分辨率
DWORD biClrUsed; //指定图像实际用到的颜色数,如
//果该值为零,则用到的颜色数为2的biBitCount次方。
DWORD biClrImportant; //重要颜色数目,如果为零,则都是重要的。
} BITMAPINFOHEADER;
文件信息头数据结构:
数据项 | 含义 | 大小 | 取值 |
---|---|---|---|
biSize | 本结构的大小 | 4B | 字节数(40或28H) |
biWidth | 图像宽度 | 4B | 像素数 |
biHeight | 图像高度 | 4B | 像素数 |
biPlanes | 图像平面数 | 2B | 必须为1 |
biBitCount | 每像素位数 | 2B | 1、4、8、24、(32) |
biCompression | 压缩类型 | 4B | 0~3(一般为0,不压缩) |
biSizeImage | 图像数据大小 | 4B | 实际位图数据占用字节数 |
biXPelsPerMeter | 水平分辨率 | 4B | 像素数/米(一般为0) |
biYPelsPerMeter | 垂直分辨率 | 4B | 像素数/米(一般为0) |
biClrUsed | 使用颜色数 | 4B | >0时为颜色表项数=0时,无颜色表(24位色) |
biClrImportant | 重要颜色数 | 4B | 通常置0,所有颜色都重要 |
调色板的概念
节省存储数据量,显示设备对同时显示的颜色有限制
调色板的数据结构:
typedef struct tagRGBQUAD
{
BYTE rgbBlue; //蓝色分量
BYTE rgbGreen; //绿色分量
BYTE rgbRed; //红色分量
BYTE rgbReserved; //保留,为0
} RGBQUAD;
BMP图像文件的注意事项
- 在BMP文件格式中规定每行的字节数必须是4的整数倍。若不是,要补0直至4的整数倍。
- 图像字节数biSizeImage的计算方法为:biSizeImage=(biWidth×biBitCount+31)/32×4×biHeight
或=bfSize-bfOffBits - 一般来说,BMP文件的数据从下到上,从左到右存放的。也就是说,从文件中最先读到的是图像最下面一行的左边第一个像素,然后是左边第二个像素…接下来是倒数第二行左边第一个像素,左边第二个像素…依次类推,最后得到的是最上面一行的最右一个像素。
- 在调色板数据结构和图像数据中,每个像素的颜色排列顺序为:蓝、绿、红 ,不同于传统的RGB顺序!!
空域图像增强
图像增强:图像增强技术是众多图像处理技术中最基本、也是最重要的一种,是对图像进行加工,以得到视觉效果更“好,更“有用的”图像
目的:通过技术手段,突出有用信息,抑制无用信息,从而改善图像的视觉效果,或者使图像达到后续图像分析和识别所需的效果。
图像增强技术不增加图像的信息量,只是增强对某种信息的辨别能力。
空域 :在图像处理中,空域指由像素组成的空间
空域增强方法:指直接作用于像素的增强方法,可以表示为:其中,f(x,y)和g(x,y)分别为增强前后的图像,E表示增强操作。
图像间的运算
指在两幅图像的对应像素间进行的、灰度值的算术和逻辑运算。运算结果是一幅新的图像。
算术运算一般作用与灰度图像,逻辑运算一般作用于二值图像。
图像的加法:
用途:利用图像相加取平均以减少和去除图像采集时混入的噪声
当样本数k增大时,平均图像会越来越趋近原始图像
图像间的减法
即求取两幅图像之间的差异。g(x,y) = f(x,y) - h(x,y)
用途: 用于医学图像处理中消除背景,或是运动目标检测。
差值图像的灰度超出动态范围,怎么办?
- 方法一: 对每个像素值加255,然后除以2。
- 方法二: 首先,提取最小差值,并且把它的负值加到所有差值图像的像素中(得到一幅最小像素值为零的改进的差值图像)。然后,通过用255/ IMax 值去乘每个像素(其中 IMax 为改进的差值图像中最大像素取值)将图像中的所有像素标定到0至255的范围。
逻辑运算
逻辑运算一般应用于二值图像,基本的逻辑运算包括:
- 补(complement):记为NOT q
- 与(AND):记为p AND q ,或 p·q
- 或(OR):记为p OR q,或p + q
- 异或(XOR):记为 p XOR q
(黑色——1,白色——0)
组合逻辑运算:
灰度变换
根据原始图像中每个像素的灰度值,按照某种映射规则,将其转化为另一灰度值。常用的三种基本映射类型:线性函数,对数函数,幂次函数。
- 图像反转:
- 对数变换——动态范围压缩:使得一窄带低灰度输入图线映射为一宽带输出值。对数函数在很大程度上压缩了图像像素值的动态范围。
- 幂次变换:
灰度直方图变换
灰度直方图是图像的一种统计表达。它反映了图像中灰度的分布情况,是多种空间域图像处理技术的基础,直方图操作能有效地增强图像。
h k = nk,(k=0,1,…,L-1),其中nk为图像中灰度级为宽带像素个数。
直观上可以认为,如果一幅图像其像素占有全部可能的灰度级并且分布均匀,则这样的图像有高对比度和多变的灰度色调。
直方图均衡化
基本思想:
变换原始图像的直方图为均匀分布 ——>大动态范围
使像素灰度值的动态范围最大 ——> 增强图像整体对比度(反差)
归一化直方图:
灰度累积直方图(归一化):
直方图规定化
借助直方图变换实现规定/特定的灰度映射
三步骤:
-
对原始直方图进行灰度均衡化(求原始累积直方图)
-
规定需要的直方图,计算能使规定直方图均衡化的变化(求规定累积直方图)
-
将原始累积直方图对应映射到规定累积直方图
映射/对应原则:
-
单映射规则(SML):取原始积累直方图的各项依次与规定累积直方图比较,每次都选择最接近的数值
-
组映射规则(GML):(I(l)为整数函数)取原始积累直方图的各项依次与规定累积直方图比较,每次都选择最接近的数值
对比:
直方图规定化 | 直方图均衡化 |
---|---|
自动增强 | 有选择地增强 |
效果不易控制 | 需给定直方图 |
总得到全图增强的结果 | 可得到特定增强的结果 |