像素间各种距离的定义及计算方法

像素是一幅数字图像最基本的构成元素。

理解像素间的一些基本关系是进行数字图像处理的基础和关键。如相邻像素(像素的邻域),像素的邻接性、连通性、区域和边界。

本篇博文主要关注像素间各种距离的定义。

像素距离的定义

对于像素p(x , y),q(s , t),z(v , w),用D(p , q)来表示像素p , q间的距离,像素间距离的(D(x , y)应满足的如下条件:

  1. D(p , q) ≥ 0.(当且仅当p = q);
  2. D(p , q) = D(q , p);
  3. D(p , q) + D(q , z) ≥ D(p , z);

像素距离的分类及计算方法

  1. 欧式距离(Euclidean Distance)
    欧式距离就是数学中学习的直线距离公式:在这里插入图片描述

  2. D4距离(城区距离,City-Block Distance)

    D4模型只能走横竖两个方向,不能走斜向。两个点的距离就是横向加竖向的距离之和。公式如下:
    在这里插入图片描述
    街区模型图如下:

要使用OpenCV测量单目摄像头的距离,可以使用视差法(Disparity method)来实现。 首先,需要计左右两个摄像头之的视差(disparity),即同一物体在两个图像中的像素位移。一种常见的方法是使用Semi-Global Block Matching(SGBM)法。 接下来,需要根据已知的相机参数,例如焦距和基线长度,将视差转换为真实世界中的距离。可以使用三角测量(triangulation)方法将像素坐标转换为空坐标,并利用相机参数将其映射到真实世界中。 具体步骤如下: 1. 通过标定(calibration)将相机的内部参数(intrinsic parameters)和外部参数(extrinsic parameters)进行估计。内部参数包括焦距和主点位置,通过拍摄特定的标定板来计这些参数。 2. 使用SGBM法计左右图像之的视差图。该法尝试将左图像中的每个像素与右图像中的对应像素进行匹配,找到最佳匹配的像素位移。 3. 根据已知的相机参数和视差图,使用三角测量方法将像素坐标转换为空坐标。通过计两个相机光心与像素坐标的射线的交点,可以得到对应物体的三维位置。 4. 最后,将三维坐标转换为真实世界中的距离。可以使用基线长度和像素的尺寸进行缩放,将三维坐标映射到真实世界中。 需要注意的是,实际应用中可能需要进行一些额外的处理和校正,例如去除畸变、去除背景噪声等。此外,使用单目摄像头测量距离的准确度可能受到场景、光照和相机参数等因素的影响,因此需要进行一定的实验和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值