图像处理复习

前言


临近期末考试,为了复习图像处理,本人特地写下此篇文章。本文仅供参考学习,后续有时间陆续补充,若有错误欢迎指出!


第一章 基本概念

1、BMP结构图

以下来自知乎博主@Lovelessing的图,画的很详细清晰
在这里插入图片描述

2、BMP文件结构

bmp文件 { (14字节)位图文件头 (File Header) { (2字节)文件类型 (Type)  (4字节)文件大小 (Size) ⟶ 位图文件头长度 + 位图信息头长度 + 调色板 + 位图数据 (4字节)保留数据 (Reserved) { (2字节)Reserved1 ⟶ 默认为 0 (2字节)Reserved2 ⟶ 默认为 0 (Reserved无含义,仅为以后新添属性留位置) (4字节)偏移量 (Offset) ⟶ 位图文件头长度 + 位图信息头长度 + 调色板 (40字节)位图信息头 (DIB Header) { (4字节)文件信息头长度 (DIB Header Size) ⟶ 40 (4字节)图像宽度 (Image Width) (4字节)图像高度 (Image Height) (2字节)颜色平面数 (Plane) ⟶ 默认为 1 (2字节)图像位数 (Bit Pixel) { 2 位 ⟶ 黑白图 ( 二值 ) 8 位 ⟶ 灰度图 24 位 ⟶ 真彩图 32 位 ⟶ 真彩图 + 透明度(Alpha) (4字节)压缩方式 (Compression) ⟶ 默认为 0 , 表示不压缩 (4字节)位图数据大小 (Image Size) ⟶ ( 图像宽度 ⋅ 图像高度 ⋅ 图像位数 ) ÷ 8 ( 8 字节 ) 分辨率(Pixels) { (4字节)横向分辨率 (X Pixels) (4字节)纵向分辨率 (Y Pixels) (4字节)调色板颜色数 (Colors) { 24 位图像 ⟶ 0 8 位图像 ⟶ 256 2 位图像 ⟶ 2 (4字节)重要颜色数 (Important Color) ⟶ 默认为最大值,表示都重要 颜色板 (Color Table) { 无调色板 ⟶ 24 位图像 含调色板 { 8 位图像 ⟶ 256位结构体 (rgbq) { Blue Green Red Reserved ⟶ 默认为 0 (Reserved无含义,仅用于填充到4字节) 2 位图像 ⟶ 黑白调色板 { Black White 位图数据 (Data) { 24位图像 ⟶ 三色通道 (Blue,Green,Red) 8位图像 ⟶ 灰度值 (Gray) 2位图像 ⟶ 二进值 { 0 ⟶ 白色 1 ⟶ 黑色 \text{bmp文件}\left\{ \begin{array}{lr} \text{(14字节)位图文件头 (File Header)} \left\{ \begin{array}{lr} \text{(2字节)文件类型 (Type) }\\ \text{(4字节)文件大小 (Size)}\longrightarrow \text{位图文件头长度 + 位图信息头长度 + 调色板 + 位图数据} \\ \text{(4字节)保留数据 (Reserved)} \left\{ \begin{array}{lr} \text{(2字节)Reserved1} \longrightarrow默认为0\\ \text{(2字节)Reserved2}\longrightarrow默认为0 \end{array} \right.\\ \text{(Reserved无含义,仅为以后新添属性留位置)}\\ \text{(4字节)偏移量 (Offset)}\longrightarrow \text{位图文件头长度 + 位图信息头长度 + 调色板} \end{array} \right.\\ \text{(40字节)位图信息头 (DIB Header)} \left\{ \begin{array}{lr} \text{(4字节)文件信息头长度 (DIB Header Size)}\longrightarrow40\\ \text{(4字节)图像宽度 (Image Width)}\\ \text{(4字节)图像高度 (Image Height)} \\ \text{(2字节)颜色平面数 (Plane)}\longrightarrow默认为1 \\ \text{(2字节)图像位数 (Bit Pixel)} \left\{ \begin{array}{lr} 2位\longrightarrow黑白图(二值)\\ 8位\longrightarrow灰度图\\ 24位\longrightarrow真彩图\\ 32位\longrightarrow真彩图 + 透明度\text{(Alpha)} \end{array} \right.\\ \\ \text{(4字节)压缩方式 (Compression)}\longrightarrow默认为0,表示不压缩\\ \text{(4字节)位图数据大小 (Image Size)}\longrightarrow(图像宽度 \cdot 图像高度\cdot图像位数)\div8\\ (8字节)分辨率 \text{(Pixels)} \left\{ \begin{array}{lr} \text{(4字节)横向分辨率 (X Pixels)}\\ \text{(4字节)纵向分辨率 (Y Pixels)}\\ \end{array} \right.\\ \text{(4字节)调色板颜色数 (Colors)} \left\{ \begin{array}{lr} 24位图像 \longrightarrow 0\\ 8位图像 \longrightarrow 256\\ 2位图像 \longrightarrow 2 \\ \end{array} \right. \\ \text{(4字节)重要颜色数 (Important Color)}\longrightarrow 默认为最大值,表示都重要 \end{array} \right.\\ \text{颜色板 (Color Table)} \left\{ \begin{array}{lr} 无调色板\longrightarrow 24位图像\\ 含调色板 \left\{ \begin{array}{lr} 8位图像\longrightarrow \text{256位结构体 (rgbq)} \left\{ \begin{array}{lr} \text{Blue}\\ \text{Green}\\ \text{Red}\\ \text{Reserved}\longrightarrow 默认为0\\ \text{(Reserved无含义,仅用于填充到4字节)} \end{array} \right.\\ 2位图像\longrightarrow \text{黑白调色板} \left\{ \begin{array}{lr} \text{Black}\\ \text{White}\\ \end{array} \right.\\ \text{} \end{array} \right. \end{array} \right.\\\\ \text{位图数据 (Data)} \left\{ \begin{array}{lr} \text{24位图像}\longrightarrow \text{三色通道 (Blue,Green,Red)}\\ \text{8位图像}\longrightarrow \text{灰度值 (Gray)}\\ \text{2位图像}\longrightarrow 二进值 \left\{ \begin{array}{lr} 0\longrightarrow\text{白色}\\ 1\longrightarrow\text{黑色}\\ \end{array} \right.\\ \end{array} \right.\\ \\ \end{array} \right. bmp文件 (14字节)位图文件头 (File Header) (2字节)文件类型 (Type) (4字节)文件大小 (Size)位图文件头长度 + 位图信息头长度 + 调色板 + 位图数据(4字节)保留数据 (Reserved){(2字节)Reserved1默认为0(2字节)Reserved2默认为0(Reserved无含义,仅为以后新添属性留位置)(4字节)偏移量 (Offset)位图文件头长度 + 位图信息头长度 + 调色板(40字节)位图信息头 (DIB Header) (4字节)文件信息头长度 (DIB Header Size)40(4字节)图像宽度 (Image Width)(4字节)图像高度 (Image Height)(2字节)颜色平面数 (Plane)默认为1(2字节)图像位数 (Bit Pixel) 2黑白图(二值)8灰度图24真彩图32真彩图+透明度(Alpha)(4字节)压缩方式 (Compression)默认为0,表示不压缩(4字节)位图数据大小 (Image Size)(图像宽度图像高度图像位数)÷8(8字节)分辨率(Pixels){(4字节)横向分辨率 (X Pixels)(4字节)纵向分辨率 (Y Pixels)(4字节)调色板颜色数 (Colors) 24位图像08位图像2562位图像2(4字节)重要颜色数 (Important Color)默认为最大值,表示都重要颜色板 (Color Table) 无调色板24位图像含调色板 8位图像256位结构体 (rgbq) BlueGreenRedReserved默认为0(Reserved无含义,仅用于填充到4字节)2位图像黑白调色板{BlackWhite位图数据 (Data) 24位图像三色通道 (Blue,Green,Red)8位图像灰度值 (Gray)2位图像二进值{0白色1黑色


第二章 图像增强


1、均值与方差

均值计算
图像的均值可以通过以下公式计算:
E ( I ) = 1 M N ∑ i = 1 M ∑ j = 1 N I i , j E(I)=\frac{1}{MN}\sum_{i=1}^{M}\sum_{j=1}^{N}I_{i,j} E(I)=MN1i=1Mj=1NIi,j
其中,M和N代表图像的高度和宽度。Ii,j代表原图像中第i行第j列像素点的灰度值。

方差计算
方差是描述数据分散程度的量。对于图像来说,方差值越大,表示图像像素值的分散程度越大,图像的对比度也会相应地增加。方差值可以通过以下公式计算:
V a r ( I ) = 1 M N ∑ i = 1 M ∑ j = 1 N ( I i , j − E ( I ) ) 2 Var(I)=\frac{1}{MN}\sum_{i=1}^{M}\sum_{j=1}^{N}(I_{i,j}-E(I))^2 Var(I)=MN1i=1Mj=1N(Ii,jE(I))2
其中,E(I)代表图像的均值。


2、直方图

理解:图像中各个灰度值的分布图
在这里插入图片描述
直方图的横轴表示像素值,纵轴表示该像素值在图像中出现的次数或占比

3、直方图均衡化

假如班上10个人的成绩排名如下,如何让成绩从0到100都均衡分布呢?
在这里插入图片描述
将这四类成绩的区间人数分布情况绘制如下
在这里插入图片描述
理想的均衡分布区间情况如下
在这里插入图片描述
原分布区间映射到理想分布区间,则此时分布均衡,故需将成绩阈值一一对应即可实现均衡化
在这里插入图片描述
本例的成绩即灰度值,直方图均衡化即使灰度值从0到255均衡分布


第三章 图像平滑

在这里插入图片描述
以上图中绿色部分为滤波窗口,滤波窗口的半径为滤波半径,像素点G为滤波点,黄色部分为滤波后的图像。

1、均值滤波

均值滤波即像素点G为滤波窗口中所有像素点的均值

2、中值滤波

中值滤波即G为滤波窗口中中所有像素点的的中值,针对椒盐噪声处理效果极佳

第四章 边缘检测


1、一阶微分算子(Sobel)

S o b e l 边缘检测 { x 方向卷积 [ − 1 0 1 − 2 0 2 − 1 0 1 ] y 方向卷积 [ − 1 − 2 − 1 0 0 0 1 2 1 ] \begin{aligned} Sobel边缘检测 \left\{ \begin{array}{lr} x方向卷积 \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \\ \end{bmatrix}\\ \\ y方向卷积 \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \\ \end{bmatrix} \end{array} \right. \nonumber\\ \end{aligned} Sobel边缘检测 x方向卷积 121000121 y方向卷积 101202101

G = ( G x ) 2 + ( G y ) 2 \begin{aligned} &G=\sqrt{(G_x)^2+(G_y)^2} \end{aligned} G=(Gx)2+(Gy)2


2、二阶微分算子(Laplace)

L a p l a c e 边缘检测 { 4 领域 [ 0 1 0 1 − 4 1 0 1 0 ] 8 领域 [ 1 1 1 1 − 8 1 1 1 1 ] \begin{aligned} Laplace边缘检测 \left\{ \begin{array}{lr} 4领域 \begin{bmatrix} 0 & 1& 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \\ \end{bmatrix}\\ \\ 8领域 \begin{bmatrix} 1 & 1 & 1 \\ 1 & -8 &1 \\ 1 & 1 & 1 \\ \end{bmatrix} \end{array} \right. \nonumber\\ \end{aligned} Laplace边缘检测 4领域 010141010 8领域 111181111


第五章 图像分割

1、阈值化

Data[i] = { 255 ,Data[i] ≥ T 0 ,Data[i] < T   \text{Data[i]}= \left\{ \begin{array}{lr} 255,\text{Data[i]}\geq T \\ \\ 0,\text{Data[i]}<T\ \end{array} \right. \nonumber\\ Data[i]= 255Data[i]T0Data[i]<T 


第六章 目标检测

1、方向链码

4方向链码
在这里插入图片描述

8方向链码

在这里插入图片描述

2、循环首差链码

CirculateCode[i] = ( ChainCode[i] − ChainCode[i-1] + 8 ) \text{CirculateCode[i]}=(\text{ChainCode[i]}-\text{ChainCode[i-1]}+8)%8 CirculateCode[i]=(ChainCode[i]ChainCode[i-1]+8)

3、最小循环首差链码

相邻链码的差代替链码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kk_阿白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值