当前位置: 首页 > backend >正文

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,θ),通过转换可以确定斜率和截距。

边缘检测

作用

直方图和直方图均衡

链接

直方图

直方图均衡

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

http://www.xdnf.cn/news/1658.html

相关文章:

  • 悟空统计:小而美的网站流量统计工具,免费好用
  • 【金仓数据库征文】从云计算到区块链:金仓数据库的颠覆性创新之路
  • ThreadLocal
  • 医学图像(DICOM数据)读取及显示(横断面、冠状面、矢状面、3D显示)为什么用ITK+VTK,单独用ITK或者VTK能实一样功能吗?
  • centos离线安装ssh
  • C语言中封装JSON数组对象
  • 深度解析@SneakyThrows注解:原理、应用与最佳实践
  • 23种设计模式-行为型模式之策略模式(Java版本)
  • 基于 EFISH-SBC-RK3588 的无人机环境感知与数据采集方案
  • DPIN在AI+DePIN孟买峰会阐述全球GPU生态系统的战略愿景
  • MySQL:数据库设计
  • 【C++入门:类和对象】[3]
  • LJF-Framework 第15章 想想搞点啥-若依管理系统兼容一下
  • 在Windows11上用wsl配置docker register 镜像地址
  • django admin 添加自定义页面
  • 从码云上拉取项目并在idea配置npm时完整步骤
  • netty中的Channel与Java NIO中的Channel核心对比
  • docker 配置代理
  • 3、ArkTS语言介绍
  • 数据完整性的守护者:哈希算法原理与实现探析
  • Redis的过期删除策略和内存淘汰策略
  • Django创建的应用目录详细解释以及如何操作数据库自动创建表
  • R/G-B/G色温坐标系下对横纵坐标取对数的优势
  • Java中的阻塞队列有界和无界区别
  • Langchain检索YouTube字幕
  • Axure复选框组件的深度定制:实现自定义大小、颜色与全选功能
  • react-09React生命周期
  • 解析塔能科技:绿色低碳智慧节能一站式破局之匙
  • 极狐GitLab 如何从 CSV 导入议题?
  • 实时步数统计系统 kafka + spark +redis