7-2 OpenCV算法解析

本文详细介绍了OpenCV的BGR问题、性能和常见算法,如线性回归的最小二乘法。接着探讨了RANSAC算法的原理、步骤和应用,以及其在全景拼接中的作用。此外,还讲解了图像相似度比较的三种哈希算法——均值哈希、差值哈希和感知哈希,以及离散余弦变换DCT的应用,如JPEG压缩编码和数字水印技术。
摘要由CSDN通过智能技术生成

目录

  1. OpenCV
  2. 最小二乘法
  3. RANSAC
  4. 图像相似度比较哈希算法
  5. 离散余弦变换DCT

1 OpenCV

  • OpenCV是一个开源的计算机视觉库,可以从 http://opencv.org 获取。

  • OpenCV 库用C语言和 C++ 语言编写,可以在 Windows、Linux、Mac OS X 等系统运行。同时也在积极开发 Python、Java、Matlab 以及其他一些语言的接口,将库导入安卓和 iOS 中为移动设备开发应用。

  • OpenCV 设计用于进行高效的计算,十分强调实时应用的开发。它由 C++ 语言编写并进行了深度优化,从而可以享受多线程处理的优势。

  • OpenCV 的一个目标是提供易于使用的计算机视觉接口,从而帮助人们快速建立精巧的视觉应用。

  • OpenCV 库包含从计算机视觉各个领域衍生出来的 500 多个函数,包括

    • 工业产品质量检验

    • 医学图像处理

    • 安保领域

    • 交互操作

    • 相机校正

    • 双目视觉

    • 以及机器人学

      Just have fun!

OpenCV大坑之BGR

  • OpenCV 对于读进来的图片的通道排列是BGR,而不是主流的RGB!谨记!
#opencv读入的矩阵是BGR,如果想转为RGB,可以这么转
img4 = cv2.imread('1.jpg')
img4 = cv2.cvtColor(img4,cv2.COLOR_BGR2RGB)
  1. 除了OpenCV读入的彩色图片以BGR顺序存储外,其他所有图像库读入彩色图片都以RGB存储。
  2. 除了PIL读入的图片是img类之外,其他库读进来的图片都是以numpy 矩阵。

OpenCV 性能

各大图像库的性能,最好的OpenCV,无论是速度还是图片操作的全面性,都属于碾压的存在,毕竟他是一个巨大的cv专用库。

在这里插入图片描述

OpenCV常见算法

  1. 图像的基本操作读取显示存储
    • 通过调用OpenCV中的 cv2.imread()cv2.imshow()cv2.write() 分别实现。
  2. 在OpenCV中实现将彩色像素转化为灰度像素
  3. 图像的几何变换
    • 平移、缩放、旋转、插值(最近邻、双线性)。
  4. 对比增强
    • 线性变换、伽马变换、直方图均衡化。
  5. 边缘检测:
    • Sobel、Laplace、Canny
  6. 图像的二维滤波:
    • cvFilter2D

2 最小二乘法

2.1 线性回归

什么是线性回归?

举个例子

  • 某商品的利润在售价为2元、5元、10元时分别为4元、10元、20元,
  • 我们很容易得出商品的利润与售价的关系符合直线:y=2x.

在上面这个简单的一元线性回归方程中,我们称“2”为回归系数,即斜率为其回归系数

  • 回归系数表示商品的售价(x)每变动一个单位,其利润(y)与之对应的变动关系。

在这里插入图片描述

线性回归表示这些离散的点**总体上“最逼近”**哪条直线。

对!就是用一根直竹签,穿过最多的糖葫芦球

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值