学习日记1:2023.3.7——Canny算法原理、相机模型、透视变换和双目系统

一、Canny算法

1.先将图片灰度化,因为颜色在边缘检测中是不必要的信息,目的是为了提高算法效率。(jpg图片的像素值是0-1,png图片的像素值是0-255)

2.用高斯平滑处理图像,降低噪声点对结果的影响,但是也会使检测的精度变差:高斯滤波的尺寸越大,对边缘提取的效果越差,对噪声点的剔除效果越好(双刃剑),其折中尺寸一般取5x5。

3.用sobel算子对图片进行边缘检测:遍历每个点,sobel算子做卷积。

4.对检测出来的边缘进行极大值抑制(NMS算法),用sobel算子检测出来的边缘粗大且明亮,一个条边缘上可能宽度有好几个像素点,我们需要取出梯度最大的像素点,抑制梯度较小的点,使边缘更加锐利。

具体步骤:每一个梯度都有一个方向(y/x),把方向近似到水平、垂直、正负对角线四个方向上,我们需要将该点与其正负方向的点进行比较梯度强度,如果是最大,则保留,否则将其设置为0。

5.双阈值检测法:一个高阈值和低阈值,高于高阈值的点为强边缘,两者之间的是弱边缘,低于低阈值的为非边缘。弱边缘有可能是真实边缘也可能是噪声点,因为噪声点一般是孤立的,真实边缘周围一定有其他的边缘点连接。所以检测其周围八个像素值,若至少一个为强边缘点则将其纳入真实边缘。

二、相机成像--坐标系转化:世界坐标-->摄像机坐标-->图片物理坐标-->图片像素坐标

学习日记1:2023.3.7——Canny算法原理、相机模型、透视变换和双目系统_第1张图片 坐标变换推导

三、透视变换:

相机畸变分为径向畸变(由于透镜的形状引起,制作工艺有关)和切向畸变(传感器和透镜不平行,安装偏差有关)。

畸变模型与五个参数有关,k1、k2、k3和p1、p2,这些参数在相机出厂时就已经给出来了,属于已知量。

需要四组对应点来得到变换矩阵。

学习日记1:2023.3.7——Canny算法原理、相机模型、透视变换和双目系统_第2张图片

 

 四、双目系统:通过同一个物理在两个感光器的投影,计算出该物体到基准线的距离Z,即通过两张及以上的照片或双(多)摄像头,处理二维图像得到三维信息。

学习日记1:2023.3.7——Canny算法原理、相机模型、透视变换和双目系统_第3张图片 双目系统公式推导

你可能感兴趣的:(学习日记,python)