基元检测是指在图像中识别和定位基本的几何元素(称为“基元”),如边缘、角点、线段、圆、矩形等简单的几何形状或特征。
目标分割是将图像划分为多个有意义的区域或对象,每个区域通常对应一个完整的目标或语义部分。

1 绪论

1.2 图像基础
1.3 像素间联系
1.3.1 像素邻域

1.3.2 像素间距离
欧氏距离 城区距离 棋盘距离







一般用棋盘距离进行距离变换
2 图像采集
2.1 采集装置
2.2 采集模型
2.2.1 几何成像模型
2.2.2 亮度成像模型
2.3 采集方式
2.3.1 成像方式一览
2.3.2 结构光法
2.4 摄像机标定
2.4.1 标定程序和步骤

2.4.2 两级标定法
3 图像预处理
3.1 坐标变换
3.2 灰度映射
3.3 直方图修正
3.3.1 直方图均衡化

相当于给你a让你求出c
问题不大 无非一个简单算法 用原始累计直方图x(n-1)然后四舍五入
0.02 x 7=0.14->0 0.07×7 =0.49 ->0 0.16×7=1.12->1

3.3.2 直方图规定化
单映射是找累计分布直方图的绝对值最近;
组映射是找累计分布直方图的上限 不超过上限

单映射是 按绝对值 划分到距离最近的

组映射



3.4 空域滤波
4 基元检测




这个有点意思
步骤一 高斯滤波 降噪处理 去除图像中的随机噪声 防止干扰边缘检测 使用高斯核对图像进行平滑 模糊 处理
步骤二 梯度计算 获取边缘强度与方向 梯度大的地方可能是边缘
步骤三 非极大值抑制 只保留最 尖锐的 边缘像素,剔除邻近不够强的响应 .操作是 在梯度方向上 比较当前像素和前后两个像素的梯度大小 若非最大 则置零
步骤四 双阈值处理 分类强/弱边缘 将边缘分成强边缘 弱边缘 非边缘 以提高鲁棒性
步骤五 边缘连接 滞后阈值 弱边缘判断 解决弱边缘是否保留的问题 弱边缘如果与强边缘相连 则保留 否则舍弃


4.1 边缘检测
4.1.1检测原理
不同边缘的特点和对它们进行检测的原理?

4.1.2 一阶导数算子(一阶微分算子)
开始上强度

- 原理:通过计算图像梯度(一阶导数)检测边缘。
- 经典算子:
- Sobel算子:
- 使用水平和垂直方向的卷积核(如
[-1 0 1; -2 0 2; -1 0 1])。 - 对噪声有一定鲁棒性,但边缘较粗。
- 使用水平和垂直方向的卷积核(如
- Prewitt算子:
- 类似Sobel,但卷积核为
[-1 0 1; -1 0 1; -1 0 1]。 - 计算简单,但对噪声敏感。
- 类似Sobel,但卷积核为
- Roberts算子:
- 使用对角方向的2×2卷积核(如
[1 0; 0 -1])。 - 对高频噪声敏感,适合锐利边缘。
- 使用对角方向的2×2卷积核(如
- Sobel算子:
sobel 水平卷积核 用于检测x方向灰度的变换
其矩阵为
-1 , 0 ,1
[ -2 ,0 ,2 ]
1 , 0 , 1
垂直卷积核则将其逆时针旋转九十度
4.1.3 二阶导数算子(二阶微分算子)
原理:通过拉普拉斯算子(二阶导数)检测边缘(零交叉点)。
经典算子:
- 纯二阶微分算子:
- Laplacian算子:直接计算图像的二阶导数,对噪声敏感。
- LoG(Laplacian of Gaussian):高斯平滑+Laplacian,即马尔算子(Marr-Hildreth算子)。
- 非二阶微分算子:
- Canny算子:本质是一阶梯度+后处理(非极大值抑制、双阈值),不属于二阶微分。





信噪比准则 定位精度准则 单边缘响应准则


4.1.4 边界闭合
4.1.5 边界细化
4.2 SUSAN算子
Simple Unsupervised Segmentation and Classification Algorithm

4.3 哈里斯兴趣点算子
用于角点检测 对旋转、光照变化鲁棒



以下是几种常见边缘检测和特征点检测算子的优缺点对比表格:
| 算子 | 优点 | 缺点 |
|---|---|---|
| Sobel | 计算简单,对噪声有一定抑制能力(高斯平滑隐含在核中);能检测水平和垂直边缘。 | 边缘较粗,定位精度较低;对斜边和非直角边缘响应较弱。 |
| Prewitt | 类似Sobel,但核更简单(无高斯加权);对水平和垂直边缘敏感。 | 边缘定位精度低;噪声抑制能力弱于Sobel。 |
| Roberts | 计算极快(2×2核);对高频边缘敏感,适合锐利边缘检测。 | 对噪声敏感;仅能检测45°和135°方向的边缘,实用性有限。 |
| Laplacian | 二阶微分,能检测边缘的过零点(零交叉),对边缘定位更精确。 | 对噪声极度敏感;易产生双边缘响应;无法区分边缘方向。 |
| LoG | 结合高斯平滑和Laplacian,抗噪性强;能检测平滑边缘和零交叉点。 | 计算复杂(需选择高斯σ参数);边缘可能断裂或闭合不完整。 |
| Canny | 多阶段优化(非极大抑制、双阈值),边缘细且连续,抗噪性好,综合性能最优。 | 计算量大;参数调节复杂(高低阈值、高斯σ)。 |
| SUSAN | 基于区域亮度比较,无需梯度计算;对噪声和几何变形鲁棒;能检测角点和边缘。 | 计算效率低;对对比度敏感;需手动设置亮度阈值。 |
| Harris | 对旋转、光照变化鲁棒;角点检测准确;计算效率较高。 | 对尺度变化敏感;边缘响应较强时可能误检为角点;需手动设置阈值和参数。 |
补充说明
- 边缘检测算子(Sobel、Prewitt、Roberts、Laplacian、LoG、Canny):
- 核心目标是提取连续、单像素宽的边缘。
- Canny是实际应用中的黄金标准,但复杂度高。
- 特征点检测算子(SUSAN、Harris):
- 专注于角点或兴趣点检测,用于配准、跟踪等任务。
- Harris更常用,但SUSAN在低对比度场景中表现更好。
- 选择建议:
- 实时性要求高 → Sobel/Prewitt。
- 边缘精度要求高 → Canny/LoG。
- 角点检测 → Harris。
- 抗噪需求强 → LoG/Canny。
4.4 哈夫变换



纯代算?

4.5 椭圆定位和检测

4.6 位置直方图技术
?
定义
位置直方图技术是一种用于分析和表示空间中点分布的方法,通常用于检测点集中的模式或结构。它通过将空间划分为离散的网格或区域(称为“bin”),然后统计每个区域内点的数量,构建一个直方图来描述点的空间分布。
实现步骤
- 空间划分:将二维或三维空间划分为规则的网格(例如,矩形网格或极坐标网格)。
- 计数:对每个网格单元,计算落入该区域的点的数量。
- 可视化/分析:生成直方图或密度图,用于识别点的聚集区域、模式或趋势。
作用
- 模式识别:检测点数据的聚集区域,例如在图像处理中识别密集的特征点。
- 数据可视化:直观展示点在空间中的分布情况。
- 预处理:为后续分析(如聚类、线检测)提供基础数据。
- 应用场景:
- 图像处理:分析特征点(如角点、边缘点)的分布。
- 地理信息系统(GIS):研究空间数据密度,如人口分布。
- 机器人导航:识别环境中的障碍物或路径点分布。
5 目标分割(图像分割)



5.1 轮廓搜索 !!
轮廓搜索是图像分割的一种方法,重点在于检测和提取目标的边界或轮廓,常用于后续的目标识别或形状分析。
5.1.1图搜索

5.1.2 动态规划

5.2 主动轮廓模型 !!
主动轮廓模型(Active Contour Model)是一种高级分割方法,通过一个可变形的曲线或曲面,动态逼近目标边界。
5.2.1 主动轮廓

5.2.2 能量函数

内部能量控制轮廓平滑和连续 曲率弹性 外部能量 吸引 轮廓到图像特征



5.3 基本阈值技术
阈值技术是图像分割的简单方法,通过灰度值将图像分为前景(目标)和背景。
5.3.1 原理和分类

5.3.2 全局阈值的选取


5.3.3 局部阈值的选取

5.3.4 动态阈值的选取


5.4 特色阈值方法
特色阈值方法是对基本阈值技术的改进,针对特定场景优化。
5.4.1 多分辨率阈值

5.4.2 过渡区阈值

5.5 特征空间聚类
基于特征空间的聚类方法通过像素的特征(如灰度、颜色、纹理)进行分割。
5.5.1 基本聚类方法

5.5.2 均移确定聚类中心

总结
轮廓搜索:通过图搜索和动态规划提取目标边界,适合精确轮廓检测。 能够得到全局最优
主动轮廓模型:用可变形曲线(蛇模型)和能量函数逼近复杂边界。
基本阈值技术:用灰度阈值分割,分为全局、局部和动态方法,简单但对光照敏感。
特色阈值方法:多分辨率和过渡区阈值改进基本方法,适应复杂场景。
特征空间聚类:基于特征(如颜色)聚类,K-Means 和均值漂移是常用方法,适合多样化分割。
以下是以表格形式对比目标分割(图像分割)中几个主要知识点的总结,涵盖轮廓搜索、主动轮廓模型、基本阈值技术、特色阈值方法和特征空间聚类的核心概念、原理、优点、缺点和应用场景。
| 知识点 | 核心概念 | 原理 | 优点 | 缺点 | 应用场景 |
|---|---|---|---|---|---|
| 5.1 轮廓搜索 | 检测和提取目标的边界或轮廓 | – 图搜索:将图像视为图,用最优路径算法(如 Dijkstra)找轮廓 – 动态规划:分解问题,递推求最优路径 | – 精确捕捉边界 – 可结合先验知识(如成本函数) | – 依赖初始点和成本函数 – 对噪声或复杂轮廓敏感 | – 医学影像:器官、血管轮廓 – 图像分析:简单对象的边界检测 |
| 5.2 主动轮廓模型(Snake模型 蛇模型) | 用可变形曲线动态逼近目标边界 | – 主动轮廓:初始曲线受内部力(平滑性)和外部力(图像特征)驱动演化 – 能量函数:最小化内部(形状)+外部(梯度)能量 | – 灵活,适应复杂、不规则形状 – 结合图像和形状信息 | – 对初始轮廓敏感 – 易陷入局部极值 – 参数调优复杂 | – 医学影像:肿瘤、细胞分割 – 目标跟踪:动态对象的边界 |
| 5.3 基本阈值技术 | 用灰度阈值将图像分为前景和背景 | – 原理:像素灰度与阈值比较 – 分类:全局、局部、动态阈值 – 全局:单一 T – 局部:区域 T – 动态:自适应 T | – 实现简单,计算快速 – 适合对比度高的图像 | – 对光照不均敏感 – 噪声影响大 – 复杂背景效果差 | – 文档处理:文本二值化 – X 光片:简单目标分割 |
| 5.4 特色阈值方法 | 改进阈值技术,适应复杂场景 | – 多分辨率阈值:多尺度分析,结合粗略和精细分割 – 过渡区阈值:针对灰度渐变区动态调整阈值 | – 适应光照变化和模糊边界 – 结合多尺度或局部信息,鲁棒性强 | – 计算复杂度高 – 参数调优难 – 过渡区定义需准确 | – 遥感图像:道路、建筑分割 – 医学影像:模糊组织边界(如 MRI) |
| 5.5 特征空间聚类 | 基于像素特征(如灰度、颜色)聚类分割 | – 基本聚类:如 K-Means,迭代分配像素到簇 – 均移确定聚类中心:非参数方法,迭代移向密度峰值 | – 考虑多维特征(如颜色、纹理) – 均值漂移无需指定簇数,适应性强 | – K-Means 需指定 K,初始中心敏感 – 均值漂移计算量大,核带宽难选 | – 彩色图像:自然场景(天空、树木) – 人脸分割:复杂背景下的目标分离 |
补充说明
- 共同点:这些方法都旨在将图像划分为有意义的区域,输入通常是图像或像素点集。
- 选择依据:
- 轮廓搜索:适合需要精确边界提取的场景。
- 主动轮廓:适合复杂、不规则形状,需先验轮廓。
- 阈值技术:简单场景,对比度高时有效。
- 特色阈值:复杂场景,光照或边界模糊时适用。
- 特征空间聚类:多特征(如颜色)分割,适合自然图像。
- 工具:OpenCV、Matlab、Python(NumPy, Scikit-Image)常用于实现。
6 目标表达和描述
“目标表达和描述”是计算机视觉(CV)中重要的一章,聚焦于如何用数学或数据结构表示和描述图像中的目标(通常是分割后的区域或对象),以便后续识别、匹配或分析。



6.1 基于边界的表达
关注如何用数据结构表示目标的边界或轮廓。
以下介绍了三种表达方法 分别是链码 边界段凸包 边界标记
6.1.1 链码



起点归一化
用最小的那个作为起点归一化结果







先定义4-方向编码
然后任选起点开始按链码方向跑
得到一串数字,将其按最小值重排序 得到起点归一化的四链码
然后后减前,不足0从后倒算补 得到一阶差分码
形状数为按最小值重排序的一阶差分码
6.1.2 边界段和凸包


边界段是描述区域轮廓的离散线段序列,而凸包是包含区域的最小凸多边形,两者共同用于分析形状的边界特征、复杂度和凸性,广泛应用于图像处理和形状识别。

6.1.3 边界标记




6.2 基于区域的表达
关注如何表示目标的内部区域或结构。
6.2.1 四叉树

每次递归分为四等分 如果是同色则变为叶子节点,不同色继续递归分 直到全为叶子
6.2.2 围绕区域


外接盒 是沿着坐标轴的
6.2.3 骨架

骨架表达法


尽管目标一致,三类方法的实现逻辑不同:
| 方法 | 原理 | 特点 | 局限性 |
|---|---|---|---|
| 骨架法 | 通过细化(Thinning)或距离变换提取连通骨架,保留拓扑结构7。 | 确保单像素宽、连通性,适合离散图像(如二值图)7。 | 对边界噪声敏感,易产生冗余分支7。 |
| MAT法 | 基于连续空间的几何定义:骨架是最大内切圆圆心轨迹78。 | 理论严谨,位置精确,适合连续域分析(如CAD建模)8。 | 离散域中难以保证连通性,计算复杂78。 |
| 草场火法 | 模拟火势均匀蔓延:火线从边界向内燃烧,相遇点形成骨架1011。 | 物理意义直观,可并行计算,适合动态模拟10。 | 需均匀蔓延假设,实际受地形/风速影响10。 |
💡 关键区别:
- 骨架法侧重离散像素操作(如二值图像细化);
- MAT法侧重连续几何建模(最大内切圆); MAT和草场火是一个道理
- 草场火法侧重物理过程模拟(火势传播动力学)。
6.3 基于边界的描述
用数值量化边界属性,描述形状。
6.3.1 边界长度和直径


6.3.2 边界形状数

确实就是之前链码求出来的东西
6.3.3 轮廓形状矩阵 略



6.4 基于区域的描述
用数值量化区域属性,描述目标特性。
6.4.1 区域面积和密度



这个网格定理挺有趣的 可以解决这种不规则多边形问题
N1+Nb/2 -1 =A N1为内部点个数 Nb为轮廓上的点的个数
确实是前人有趣而有智慧的发现

6.4.2 区域形状数



6.4.3 区域不变矩


hu基于中心矩推导而来 具有平移、旋转和缩放不变性
Hu矩是七个不变矩,基于图像中心矩,描述形状特征,具有平移、缩放和旋转不变性,广泛用于图像识别。
6.4.4 拓扑描述符

拓扑描述符是用于分析区域或形状的拓扑性质(如连通性、孔洞数、边界复杂度)的数学工具,通常基于图论或同调理论,广泛应用于图像处理、材料科学和地理分析,以捕捉形状的结构特征而非几何细节。
欧拉数是拓扑描述符的一种,定义为区域的连通分量数(C)减去孔洞数(H),即
E=C−HE = C – HE = C - H
,反映形状的拓扑结构不变性,常用于图像处理和模式识别以分析物体的连通性和孔洞特征。
一笔画问题 欧拉推广解决了
拓扑连接:七桥问题的解决标志着拓扑学的开端,欧拉数(Euler Number)是拓扑学中的一个关键描述符。
- 欧拉数 E=C−HE = C – H
E = C - H(连通分量数减孔洞数)描述二维区域的拓扑性质。 - 在图论中,欧拉还有一个相关公式:对于平面连通图,V−E+F=2V – E + F = 2
V - E + F = 2,其中 ( V ) 是顶点数,( E ) 是边数,( F ) 是面数(包括外部面)。这被称为欧拉公式,与欧拉数有拓扑上的联系。
区别:七桥问题关注路径可行性(图论),而欧拉数更直接描述区域的连通性和孔洞,应用于形状分析。
E=C-H (connected components – holes)

如果是独立的一个部分 那么C=1 但是像i这样分开的部分 C=2 空洞数顾名思义
E=C-H
1. 形状的拓扑复杂度
- 结论:欧拉数反映了形状的拓扑结构复杂度。
- E>0E > 0
E > 0:通常表示简单结构,如实心圆(C=1,H=0,E=1C = 1, H = 0, E = 1C = 1, H = 0, E = 1)或多个分离的实心区域(例如两个实心圆,C=2,H=0,E=2C = 2, H = 0, E = 2C = 2, H = 0, E = 2)。 - E=0E = 0
E = 0:表示连通性和孔洞达到平衡,如一个环形(甜甜圈,C=1,H=1,E=0C = 1, H = 1, E = 0C = 1, H = 1, E = 0)。 - E<0E < 0
E < 0:表示复杂结构,孔洞数超过连通分量,如字母“B”(C=1,H=2,E=−1C = 1, H = 2, E = -1C = 1, H = 2, E = -1)或多孔结构。
- E>0E > 0
- 应用:用于区分简单形状(正值)与复杂或多孔形状(零或负值)。
结论:欧拉数可用于模式识别和图像处理中的形状分类。
- 例如,在字母识别中:
- 实心字母如“C”:C=1,H=0,E=1C = 1, H = 0, E = 1
C = 1, H = 0, E = 1 - 带一个孔的字母如“A”:C=1,H=1,E=0C = 1, H = 1, E = 0
C = 1, H = 1, E = 0 - 带两个孔的字母如“B”:C=1,H=2,E=−1C = 1, H = 2, E = -1
C = 1, H = 2, E = -1
- 实心字母如“C”:C=1,H=0,E=1C = 1, H = 0, E = 1
- 推导:根据 ( E ) 的值,可以推断形状是否包含孔洞或多个独立部分,从而区分不同对象。
应用:手写字符识别、OCR(光学字符识别)、物体分类。
可以推广到高维度
顶点-边+面=E=C-H

总结:

7 纹理分析

7.1 统计描述方法
只能用于分类

7.1.1 灰度共生矩阵
灰度共生矩阵(GLCM)
定义:描述一幅图像中像素灰度之间空间关系的二维矩阵。
- 设灰度范围为0~255,定义方向 (θ) 和距离 (d),如:
- θ=0°:水平方向,d=1 表示相邻像素
- θ=90°:垂直方向
- GLCM(i,j):图像中灰度为 i 的像素,与它方向 d 上灰度为 j 的像素同时出现的次数
矩阵大小:通常为 256×256,但可以灰度压缩至 8bit(64×64)或更低。
7.1.2 灰度共生矩阵的描述


题目:
给定如下 4×44 \times 44×4 的灰度图像(灰度范围 0~2):
复制编辑1 1 0 0
1 2 0 0
1 2 2 0
2 2 2 0
要求:
- 在方向 0∘0^\circ0∘(水平方向),距离为1下,构造灰度共生矩阵(取灰度级为0, 1, 2);
- 归一化为概率形式;
- 计算其 对比度 和 能量。
第一步:构造共生矩阵(方向 0°, 距离 1)
从左到右相邻像素对,统计灰度对 (i,j)(i,j)(i,j) 出现次数。
遍历每行相邻的像素:
- 第1行:1→1,1→0,0→0 → (1,1), (1,0), (0,0)
- 第2行:1→2,2→0,0→0 → (1,2), (2,0), (0,0)
- 第3行:1→2,2→2,2→0 → (1,2), (2,2), (2,0)
- 第4行:2→2,2→2,2→0 → (2,2), (2,2), (2,0)
统计所有这些组合的次数(灰度级为0,1,2):
| (i,j) | 次数 |
|---|---|
| (0,0) | 2 |
| (1,0) | 1 |
| (1,1) | 1 |
| (1,2) | 2 |
| (2,0) | 3 |
| (2,2) | 3 |
构造 GLCM(3×3矩阵): [200112303]\begin{bmatrix} 2 & 0 & 0 \\ 1 & 1 & 2 \\ 3 & 0 & 3 \\ \end{bmatrix}213010023
第二步:归一化(概率共生矩阵)
总共像素对数:2+1+1+2+3+3 = 12
概率矩阵: P=112×[200112303]=[0.167000.0830.0830.1670.2500.25]P = \frac{1}{12} \times \begin{bmatrix} 2 & 0 & 0 \\ 1 & 1 & 2 \\ 3 & 0 & 3 \\ \end{bmatrix} = \begin{bmatrix} 0.167 & 0 & 0 \\ 0.083 & 0.083 & 0.167 \\ 0.25 & 0 & 0.25 \\ \end{bmatrix}P=121×213010023=0.1670.0830.2500.083000.1670.25

7.1.3 基于能量的描述
能量(Energy)通常用于快速判断图像区域是否纹理均匀。比如:
- 能量高:草地、砖墙等重复结构
- 能量低:天空、雾气等模糊区域
7.2 结构描述方法
7.2.1 结构描述原理
结构描述基于纹理单元(texton)——图像中的基本重复结构块。假设纹理是由某些小图形规则排列而成的。
7.2.2 纹理镶嵌
将图像看作一个个相同纹理块的拼贴,例如:
- 地砖、布料纤维、建筑墙面
- 分析方法包括滑动窗口、模板匹配
可以通过统计纹理块的形状、方向、大小分布来建模。
7.2.3 局部二值模式

很清晰直观

取中心为阈值 高于为1 低于为0 然后二进制化 256种结果 局部二值模式
7.3 频谱描述方法
7.3.1 傅里叶频谱描述

7.3.2 盖博频谱描述

7.4 纹理图像分割
图像分割是将图像划分成纹理一致的区域。
7.4.1 有监督纹理分割

7.4.2 无监督纹理分割

灰度共生矩阵主要用于描述图像中:
A. 灰度分布频率
B. 像素之间的空间关系
C. 边缘方向
D. 光照变化
答案:B
在灰度共生矩阵中,反映图像平滑度的特征是:
A. 对比度
B. 熵
C. 同质性
D. 能量
答案:D
LBP(局部二值模式)主要用于描述:
A. 全局频率变化
B. 局部纹理结构
C. 灰度统计分布
D. 图像对比度
答案:B
Gabor 滤波器是以下哪两个函数的乘积?
A. 高斯函数和余弦函数
B. 正弦函数和方波
C. 高斯函数和正弦函数
D. 拉普拉斯函数和高斯函数
答案:C
使用傅里叶频谱分析纹理的优点是:
A. 对光照变化敏感
B. 能检测纹理方向性
C. 适合非周期纹理
D. 能分析图像频率成分
答案:D
图像中能量越大表示:
A. 纹理越复杂
B. 纹理越平滑规则
C. 图像边缘越多
D. 纹理方向性越强
答案:B
下列不属于 Haralick 特征的是:
A. 能量
B. 对比度
C. 同质性
D. 频率
答案:D
无监督纹理分割最常用的算法之一是:
A. K-Means
B. SVM
C. 决策树
D. Adaboost
答案:A
在结构描述方法中,纹理镶嵌主要假设纹理是由什么构成的?
A. 边缘强度
B. 灰度方向
C. 结构单元的重复
D. 噪声干扰
答案:C
GLCM 的方向性通常不包括下列哪一项?
A. 0°
B. 45°
C. 60°
D. 135°
答案:C
8 形状分析

形状分析用于表达和区分目标的几何外观特征。它比纹理更注重边界、轮廓、面积、角度等结构性特征。
8.1 形状紧凑性描述符





8.2 形状复杂性描述符



饱和度 直接除法 内部/框架
8.3 基于多边形的形状分析
8.3.1 多边形计算

8.3.2 多边形描述

8.4 基于曲率的形状分析
8.4.1 轮廓曲率

8.4.2 曲面曲率








other

斜着画 就能画出最小方框


1.距离 2.哈夫变换 3.最优阈值 4.链码形状数 5.LBP(或灰度共生) 6.饱和度 7.规定直方图


例题
OTSU算法核心思想
通过遍历所有可能的灰度阈值 k,计算该阈值将像素分为前景(类0)和背景(类1)后的类间方差(σB2),选择使类间方差最大的 k 作为最优阈值。
目标:使两类像素灰度差异最大化
| 灰度值 i | 像素数 ni |
|---|---|
| 0 | 100 |
| 1 | 120 |
| 2 | 80 |
| 3 | 50 |
| 4 | 10 |
| 5 | 20 |
| 6 | 30 |
| 7 | 40 |
基于您提供的灰度统计表和OTSU算法原理,我来详细说明如何手工计算OTSU阈值(使用您表格中的数据)。以下是分步操作流程:
OTSU算法核心思想
通过遍历所有可能的灰度阈值 k,计算该阈值将像素分为前景(类0)和背景(类1)后的类间方差(σB2),选择使类间方差最大的 k 作为最优阈值。
目标:使两类像素灰度差异最大化。
您的数据准备(来自图片)
| 灰度值 i | 像素数 ni |
|---|---|
| 0 | 100 |
| 1 | 120 |
| 2 | 80 |
| 3 | 50 |
| 4 | 10 |
| 5 | 20 |
| 6 | 30 |
| 7 | 40 |
总像素数 N:
N=100+120+80+50+10+20+30+40=450
步骤1:计算灰度分布概率
每个灰度值 i 的概率:
pi=Nni
复制p₀ = 100/450 ≈ 0.2222
p₁ = 120/450 ≈ 0.2667
p₂ = 80/450 ≈ 0.1778
p₃ = 50/450 ≈ 0.1111
p₄ = 10/450 ≈ 0.0222
p₅ = 20/450 ≈ 0.0444
p₆ = 30/450 ≈ 0.0667
p₇ = 40/450 ≈ 0.0889
步骤2:遍历阈值 k(0~6)
OTSU要求阈值 k 将像素分为两类:
- 类0(前景):灰度值 ≤k
- 类1(背景):灰度值 >k
需对每个 k 计算类间方差 σB2(k),取最大值对应的 k。
(由于灰度值7是最大值,阈值k只需从0到6)

类间方差最大作为阈值






一定要算出来这个类间方差

总像素数: N=4+5+3+8=20N = 4 + 5 + 3 + 8 = 20N=4+5+3+8=20
请用 Otsu 方法找出最优阈值 t∗t^*t∗,使类间方差最大。
我们将尝试 t=0,1,2t = 0, 1, 2t=0,1,2 三种情况(t=3t = 3t=3 没意义,因为没有灰度 >3 的像素)。
μT=201(0⋅4+1⋅5+2⋅3+3⋅8)=200+5+6+24=2035=1.75
μt其实在某种计算方法中不需要用到




. 距离计算(欧式/曼哈顿)
已知图像中两个像素坐标分别为 A(3,4)A(3, 4)A(3,4) 和 B(7,1)B(7, 1)B(7,1),请分别计算:
- 欧式距离 dEd_EdE
- 曼哈顿距离 dMd_MdM 城区距离
- 棋盘距离 切比雪夫距离
2. 哈夫变换(直线检测)
假设图像中有三个像素点 (2,1),(3,2),(4,3)(2,1), (3,2), (4,3)(2,1),(3,2),(4,3),请问这些点是否共线?
若是,请给出其极坐标形式的直线方程 ρ=xcosθ+ysinθ\rho = x\cos\theta + y\sin\thetaρ=xcosθ+ysinθ 的近似取值(任选合适的 θ\thetaθ 角度范围进行采样)。
3. 最优阈值(Otsu法)
给出一幅图像灰度直方图如下:
| 灰度值 | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 像素数 | 3 | 4 | 3 | 10 |
请用 Otsu 算法计算最优阈值(试 t=0,1,2t=0,1,2t=0,1,2)。
4. 链码与形状数
一条封闭边界的链码为:
0, 0, 1, 2, 2, 3, 4, 4, 5, 6, 6, 7
(方向码为 Freeman 8 方向编码)
- 计算其差分链码
- 判断是否是旋转不变的形状数
5. LBP(二值模式)
给出下列 3×3 灰度图像区域(中心像素是 50):
复制编辑70 45 60
30 50 55
20 40 35
请计算中心像素的 LBP 编码值(8 位二进制 → 十进制)
6. 饱和度计算(基于HSV)
给出一个 RGB 像素点为 R=100,G=150,B=200R=100, G=150, B=200R=100,G=150,B=200,请转换为 HSV 模型,
并求出该像素的饱和度(S)。
7. 规定直方图(直方图匹配)
有一幅图像灰度值分布如下(灰度级别 0~3):
| 灰度值 | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 原图数量 | 4 | 4 | 4 | 4 |
目标直方图是:
| 灰度值 | 0 | 1 | 2 | 3 |
|---|---|---|---|---|
| 目标数量 | 2 | 6 | 4 | 4 |
请问原图的灰度值应如何映射到目标直方图?(即构造直方图匹配函数)
简答
摄像机标定
🫵🫵: 06-05 18:21:19
简答:摄像机标定目的,内外参数分别表示什么,如何获得畸变参数
- 摄像机标定的目的:
- 核心目的: 建立真实三维世界中的点与摄像机拍摄的二维图像平面上的像素点之间的精确几何对应关系。这就像是为相机建立一把精准的“尺子”和“定位器”。
- 具体目标:
- 获取摄像机的内参数和畸变参数,用于校正图像的几何失真(如镜头变形)。
- 在知道物体三维坐标时,准确计算出其在图像中的位置(用于测量、定位、控制)。
- 在知道图像点位置时(结合其他信息如多视图),反算出其对应的三维空间位置(用于三维重建、深度估计、SLAM)。
- 提升计算机视觉算法的精度和鲁棒性(如立体视觉、目标跟踪、AR/VR)。
- 让不同相机拍摄的图像或视频在几何意义上具有可比性。
- 内外参数分别表示什么:
- 内参数: 描述摄像机自身固有的光学与几何特性。它们与相机的位置和朝向无关。主要包含:
- 焦距: (
fx,fy),单位为像素(有时也用物理单位mm,但需与图像传感器尺寸结合)。fx和fy通常接近相等,表示镜头在x和y方向的放大能力。fx != fy表示存在非正方形像素(较少见)。 - 主点/光心: (
cx,cy),单位为像素。表示摄像机光轴与图像平面的交点(理想图像中心)。实际制造中光轴不一定穿过物理图像中心。 - 畸变参数: (如
k1,k2,k3,p1,p2)。描述镜头引起的图像几何形变(径向畸变和切向畸变),虽然不是“位置参数”,但紧密关联相机内部光学特性,通常与内参一起标定和存储。
- 焦距: (
- 外参数: 描述摄像机在某个世界坐标系下的位置和朝向。它定义了摄像机相对于世界坐标系的刚体变换。主要包含:
- 旋转矩阵: (
R, 3×3 矩阵)。描述世界坐标系如何旋转才能与摄像机坐标系对齐。 - 平移向量: (
t, 3×1 向量)。描述世界坐标系原点在摄像机坐标系下的坐标。
- 旋转矩阵: (
- 内参数: 描述摄像机自身固有的光学与几何特性。它们与相机的位置和朝向无关。主要包含:
- 如何获得畸变参数:
- 核心方法: 多角度拍摄已知几何图案(最常用是棋盘格标定板)并数值优化求解。
- 详细步骤:
- 制作/选择标定板: 准备一个高精度、特征点清晰且已知尺寸和空间分布的标定板(棋盘格最常见)。
- 采集数据: 从不同距离、角度和方向拍摄标定板数十张图像(通常15-30张),确保标定板覆盖整个图像画面,尤其边缘和角落(畸变在这些区域最明显)。
- 检测特征点: 使用算法(如
findChessboardCornersin OpenCV)在每幅图像上自动检测标定板上的关键点(如棋盘格的角点)精确的亚像素位置。 - 建立数学模型: 假设一个相机模型(小孔成像模型 + 畸变模型)。畸变模型通常包括径向畸变(k1, k2, k3)和切向畸变(p1, p2)。模型将3D世界点(标定板上的物理点)投影到2D图像点,涉及内参、外参和畸变参数。
- 优化求解: (核心步骤)利用所有图像中检测到的所有特征点坐标(2D)和其对应的已知世界坐标(3D),通过非线性优化算法(最常用的是Levenberg-Marquardt算法)最小化重投影误差(模型计算出的像素位置与实际检测到的像素位置之间的距离)。求解得到最优的内参数、畸变参数集合(以及每张图像对应的外参数)。
- 评估: 检查标定结果的平均重投影误差(像素单位)。误差越小(通常期望<0.5像素),标定精度越高。也可直观观察标定板图像上投影回的特征点与实际检测点的吻合程度。
总结一下关键点:
- 目的: 建立精确的3D-2D几何映射关系。
- 内参: 相机本身特性(焦距fx,fy、主点cx,cy、畸变k/p)。
- 外参: 相机在空间中的位置和朝向(旋转R、平移t)。
- 获取畸变参数: 通过拍摄已知图案标定板(如棋盘格)的多角度图像,检测特征点,利用模型进行非线性优化(最小化重投影误差),同时解算内参(含畸变参数)和外参。优化的核心目标是使得模型预测的图像点位置与实际检测到的点位置差异最小。
🫵🫵: 06-05 18:22:10
简答:一阶导数算子 二阶导数算子 canny算子 harris角点检测 每个算子原理 优缺点 canny算子的步骤 harris公式和角点判断条件
一、一阶导数算子
原理:通过计算像素灰度在x和y方向的梯度(变化率)检测边缘。
常用算子:
- Roberts:计算对角差分(2×2模板)
- Prewitt:使用3×3模板,引入平均平滑
- Sobel:加权平滑(中心权重更大)
公式示例(Sobel):Gx=−1−2−1000121,Gy=−101−202−101
边缘强度:G = \sqrt{G_x^2 + G_y^2}
方向:\theta = \arctan(G_y / G_x)
优点:
- 计算高效,实时性强
- 能检测边缘方向
缺点: - 对噪声敏感
- 边缘较粗(低通滤波导致)
二、二阶导数算子
原理:利用灰度变化的二阶导数(拐点)定位边缘,过零点对应边缘中心。
常用算子:
- Laplacian:各向同性算子
- LoG(Laplacian of Gaussian):先高斯平滑再Laplacian
Laplacian 模板:0101−41010或1111−81111
优点:
- 边缘定位更精确(单像素宽)
- LoG抗噪性较好
缺点: - 对噪声极度敏感(需高斯平滑)
- 易产生双边缘(梯度突变区)
三、Canny算子(多步边缘检测)
原理:结合平滑、梯度计算、非极大值抑制和双阈值检测。
步骤:
- 高斯滤波:降噪(σ控制平滑程度)
- 梯度计算:Sobel算子求
G_x, G_y - 非极大值抑制:沿梯度方向细化边缘(仅保留局部最大值)
- 双阈值检测:
- 高阈值
τ₁:强边缘(保留) - 低阈值
τ₂:弱边缘(仅当连接强边缘时保留)
- 高阈值
- 边缘连接:弱边缘若与强边缘连通则保留
优点:
- 边缘连续、细且准确
- 抗噪性强(最优信噪比)
缺点: - 计算复杂
- 需调参(σ, τ₁, τ₂)
四、Harris角点检测
原理:通过局部窗口移动时的灰度变化判断角点。
核心公式:
- 灰度变化矩阵 M:
M=x,y∑w(x,y)[Ix2IxIyIxIyIy2]
(I_x, I_y为梯度,w(x,y)为高斯权重窗口)
- 角点响应函数 R:
R=det(M)−k⋅(trace(M))2,k∈[0.04,0.06]
角点判断条件:
R > 阈值且为局部极大值
角点类型:
R > 0:角点R ≈ 0:平坦区R < 0:边缘
优点:
- 对旋转、光照变化鲁棒
- 检测稳定
缺点: - 对尺度变化敏感
- 角点可能粘连(需非极大值抑制)
三、Canny算子(多步边缘检测)
原理:结合平滑、梯度计算、非极大值抑制和双阈值检测。
步骤:
- 高斯滤波:降噪(σ控制平滑程度)
- 梯度计算:Sobel算子求
G_x, G_y - 非极大值抑制:沿梯度方向细化边缘(仅保留局部最大值)
- 双阈值检测:
- 高阈值
τ₁:强边缘(保留) - 低阈值
τ₂:弱边缘(仅当连接强边缘时保留)
- 高阈值
- 边缘连接:弱边缘若与强边缘连通则保留
优点:
- 边缘连续、细且准确
- 抗噪性强(最优信噪比)
缺点: - 计算复杂
总结对比
| 算子 | 检测目标 | 抗噪性 | 边缘/角点质量 | 计算复杂度 |
|---|---|---|---|---|
| 一阶导数 | 边缘 | 弱 | 边缘粗,方向敏感 | 低 |
| 二阶导数 | 边缘 | 中 | 单像素宽,双边缘 | 中 |
| Canny | 边缘 | 强 | 连续细边缘 | 高 |
| Harris | 角点 | 强 | 精准定位角点 | 中 |
关键点:
- Canny是边缘检测金标准,Harris是角点检测经典方法。
- 实际应用常结合:例如Harris检测角点后,用Canny提取物体轮廓。
核心区别对比表
特性 一阶导数算子 二阶导数算子 检测原理 梯度幅值局部极大值(灰度突变) 二阶导过零点(灰度变化拐点) 代表算子 Sobel、Prewitt、Roberts Laplacian、LoG(高斯-拉普拉斯) 边缘定位 边缘较粗(通常2-3像素宽) 单像素宽(更精确) 噪声敏感度 敏感(需预平滑) 极度敏感(必需高斯平滑) 响应特性 对阶跃边缘强响应 对突变边缘双响应(两侧过零) 计算复杂度 低(3×3卷积) 中高(LoG需高斯核+二阶导) 边缘连续性 较好(梯度连续) 易断裂(受噪声干扰明显) 方向敏感性 可计算边缘方向(θ = arctan(Gy/Gx)) 各向同性(无方向信息)
🫵🫵: 06-05 18:22:33
轮廓追踪算法的思路? 什么时候用图 啥时候动态规划
🫵🫵: 06-05 18:23:07
主动轮廓模型能量函数是什么 最小化能量的意义 主动轮廓更新迭代机制是什么 解释内外能量作用
🫵🫵: 06-05 18:23:21
骨架的定义和几何解释是什么
🫵🫵: 06-05 18:23:35
Hu矩是什么 为什么有不变性




