opencv--图像变换

图像变换

图像滤波用于处理像素(去噪),从而改变图像质量。

图像的几何变换是指改变图像的几何位置、几何形状、几何尺寸等几何特征。

<详细了解,看opencv书>

概念

矩阵的运算

链接

齐次坐标

链接

齐次坐标就是用N+1维来代表N维坐标,而N维坐标值可以通过以下公式计算得出:

X = x / w

Y = y / w

图像平移

含义

图像的平移可以理解维两个矩阵相加:

也可以理解维矩阵相乘:

图像旋转

含义

图像的旋转一般是以一个点作为旋转中心旋转。

那么图像翻转呢,比如绕着轴翻转?

图像缩放

含义

射影变换

欧式变换

相似变换

仿射变换

射影变换/透视变换

作用

一般用于校正图像:

  • 当相机拍摄角度倾斜时,图像会出现梯形失真(如拍摄建筑物时近大远小)。

  • 射影变换可以将其矫正为正视图(如文档扫描、车牌识别)。

射影变换 vs. 仿射变换

链接

特性 射影变换(Projective) 仿射变换(Affine)
自由度 8 (9个参数,但可归一化) 6
保持性质 直线仍为直线,但平行线可能不再平行 保持平行性
适用场景 透视矫正(如倾斜拍摄→正视图) 旋转、缩放、平移(无透视变化)
示例 文档矫正、AR投影 图像旋转、缩放

霍夫变换

作用

霍夫变换(Hough Transform)是一种用于**检测图像中特定几何形状(如直线、圆、椭圆等)**的经典算法。

(1) 直线检测(Hough Line Transform)

  • 用于检测图像中的直线,如边缘检测后的线段提取。

  • 应用场景:

    • 车道线检测(自动驾驶)

    • 文档扫描(检测纸张边缘)

    • 建筑结构分析(检测墙面、门窗边缘)

(2) 圆检测(Hough Circle Transform)

  • 用于检测图像中的圆形或弧形结构。

  • 应用场景:

    • 工业检测(检测零件上的孔洞)

    • 医学图像分析(检测细胞、瞳孔)

    • 交通标志识别(检测圆形标志)

(3) 广义霍夫变换(检测任意形状)

  • 可以扩展用于检测椭圆、矩形等更复杂的形状。

原理

链接

(x,y)的图像空间中的一个点映射到(r,θ)极坐标空间中就是一条正弦曲线,而正弦曲线上的一个点就代表一条直线,如果极坐标空间有两条正弦曲线,就代表在图像空间中的两个确定的点,而如果这两条正弦曲线有一个交点,那么就说明这两条正弦曲线在这个点都有一条图像空间中的直线,而且这两条直线斜率和截距相同,也就是就是同一条直线。

如果一幅图像中的像素构成一条直线,那么这些像素坐标值(x, y)在参数空间对应的曲线一定相交于一个点,所以我们只需要将图像中的所有像素点(坐标值)变换成参数空间的曲线,并在参数空间检测曲线交点就可以确定直线了,也就是确定(r,θ),通过转换可以确定斜率和截距。

边缘检测

作用

直方图和直方图均衡

链接

直方图

直方图均衡

就是调整图像各个亮度值的像素的数量。

相关推荐
用户47949283569152 分钟前
又当又立: Anthropic 这篇安全白皮书,为什么让人恶心
人工智能
Vuhao13 分钟前
如何创造自己的工作流
人工智能
魏祖潇17 分钟前
RAG 的关键从来不是向量——是你能不能把对的内容捞出来
人工智能
web_Leon17 分钟前
提示词工程已死?Loop Engineering 三步法,让你的 AI 效率暴增 10 倍
人工智能·ai编程
半个落月25 分钟前
为什么大模型“记不住”你?从一次 API 调用讲透 LLM 的无状态、上下文与对话历史
人工智能
血小溅26 分钟前
Skill 脚本语言选型:Python、Node.js、Shell 到底怎么选?
人工智能·后端
ZhengEnCi27 分钟前
09d-斯坦福 CS336 作业三:缩放定律(Scaling Laws)
人工智能
JieE21229 分钟前
从"无状态"到"懂你":深入理解 LLM 对话的本质,以及 Prompt/Context/Loop 三层工程进化之路
人工智能·llm·ai编程
稚雪九月29 分钟前
永久记忆,丰富情感,Atrium AI框架:给AI一颗真正的心
人工智能
小鼻子的猫32 分钟前
万字长文讲透 AI Agent 架构设计:从 ReAct 到多 Agent 协作,附完整 Python 代码
人工智能