相机内参在图像裁剪和缩放后的内参变化 您所在的位置:网站首页 react图片裁剪缩放旋转 相机内参在图像裁剪和缩放后的内参变化

相机内参在图像裁剪和缩放后的内参变化

2023-04-11 05:10| 来源: 网络整理| 查看: 265

1 什么是相机内参

相机内参是联系相机坐标系与图像坐标系的桥梁。通过相机内参,可以将相机坐标系中的三维点投影到图像坐标系中的二维点。

设相机内参矩阵IM = [[fx, 0, cx], [0, fy, cy], [0, 0, 1]],

其中fx, fy为相机焦距。

cx, cy为主点的坐标,主点表示相机光轴与成像平面的交点,这是一个确定的点,表示物理世界中的一个特定位置,比如一张人脸照片中,主点为处于中间位置的人脸的鼻尖。不管图片怎么变化,主点都是鼻尖的那个像素。

2 resize对相机内参的影响

在网上能查到的资料一般都是说:相机内参与图片同缩放。

当时需要注意的是,图片两轴的缩放比例不一致时,相机内参对应参数缩放比例也不同。

假设相机内参矩阵IM = [[fx, 0, cx], [0, fy, cy], [0, 0, 1]], h的缩放率为a,w的缩放率为b。

对相机内参进行重计算,对应轴的参数要乘以对应的缩放率,即:

IM[0] = IM[0] * b

IM[1] = IM[1] * a

也即:

IM_new = [[bfx, 0, bcx], [0, afy, acy], [0, 0, 1]]

3 Crop对相机内参的影响

设未裁剪的图片为图A,裁剪后的图片为图B。

首先,裁剪不会改变焦距。

相机内参在图像裁剪和缩放后的内参变化_缩放比例

而对于主点,在1中已经说到,主点是物理世界中一个固定点投影到图片中的像素点的坐标值,裁剪后的图片与裁剪前的图片有不同的图片坐标系,设裁剪前图片的图片坐标系为axis0,裁剪后的图片坐标系为axis1,图中蓝点就为主点。

已知裁剪前的主点坐标(cx, cy),只需要知道axis1相对与axis0在两个方向上的距离(w_*crop, h_*crop),就可以求得裁剪后的主点坐标(cx_*new, cy_*new),也既:

cx_*new = cx - w_*crop, cy_*new = cy - h_*crop

**那么如何求w_\crop, h_\crop?

裁剪主要分为中心裁剪,随机裁剪。

对于中心裁剪,h_crop = (h - hnew)/2, wcrop = (w - w_new)/2

其中h,h_new, w, w_new表示裁剪前后的图片高与宽。

对于随机裁剪,则需要知道裁剪的起点(h01, w01),也就是axis1的原点在axis0中的坐标, 则有:

h_crop = h01, w_crop = w01

但是对于随机裁剪,如何求得随机裁剪的起点呢?

参考文章

https://zhuanlan.zhihu.com/p/361717695



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有