立体视觉入门指南(1):坐标系与相机参数

亲爱的同学们,我们的世界是3D世界,我们的双眼能够观测三维信息,帮助我们感知距离,导航避障,从而翱翔于天地之间。而当今世界是智能化的世界,我们的科学家们探索各种机器智能技术,让机器能够拥有人类的三维感知能力,并希望在速度和精度上超越人类,比如自动驾驶导航中的定位导航,无人机的自动避障,测量仪中的三维扫描等,都是高智机器智能技术在3D视觉上的具体实现。

立体视觉是三维重建领域的重要方向,它模拟人眼结构用双相机模拟双目,以透视投影、三角测量为基础,通过逻辑复杂的同名点搜索算法,恢复场景中的三维信息。它的应用十分之广泛,自动驾驶、导航避障、文物重建、人脸识别等诸多高科技应用都有它关键的身影。

本课程将带大家由浅入深的了解立体视觉的理论与实践知识。我们会从坐标系讲到相机标定,从被动式立体讲到主动式立体,甚至可能从深度恢复讲到网格构建与处理,感兴趣的同学们,来和我一起探索立体视觉的魅力吧!

本课程是电子资源,所以行文并不会有太多条条框框的约束,但会以逻辑清晰、浅显易懂为目标,水平有限,若有不足之处,还请不吝赐教!
个人微信:EthanYs6,加我申请进技术交流群 StereoV3D,一起技术畅聊。
CSDN搜索 :Ethan Li 李迎松,查看网页版课程
随课代码,将上传至github上,地址:StereoV3DCode:https://github.com/ethan-li-coding/StereoV3DCode

文章目录

      • 针孔模型Pinhole mode
      • 坐标系简介
        • 影像坐标系
        • 相机坐标系
          • 内参矩阵
        • 世界坐标系
          • 外参矩阵
          • 投影矩阵
        • 总结
        • 练习作业

针孔模型Pinhole mode

在科学研究中,一个现象内部的过程总是复杂而难以清晰看透,而聪明的学者们总会用最简单的模型去做初始描述,提出一个相对简单的模型。成像过程亦不例外,他们将三维世界中的坐标点映射到二维图像平面的过程用一个几何模型进行描述,这个模型有很多种,其中最简单的称为针孔模型。

针孔成像的原理大家都学过,现实世界中源于某个物体的光线穿过针孔,会在底板上投影成一幅倒立的图像。如图1所示:

图1 针孔模型1

将针孔模型对应到成像过程中,现实世界的物体即为三维空间的成像目标,针孔为摄像机中心,倒影成像平面则为二维影像平面。如图二(左)所示,我们用简单的线条来绘制这样的关系,摄像机中心到成像平面之间的距离我们称之为焦距 f f f。但是倒立的成像总感觉别扭,因此转换一下,将成像平面拿到相机前方来,保持焦距为 f f f,由成像过程可知,图像此时不再是倒立的了,解放了大家的脖子,见图2(右)所示。

图2 针孔模型2

从针孔模型中,我们可以找到一个特征,那就是现实世界的任一点、其在成像平面上的投影点、相机中心在一条直线上,这种特征称为中心投影或者透视投影,也是做成像分析的基础。透视投影将三维空间投影到二维平面上,是一种降秩空间透射变换(三维空间降成了二维空间)。

坐标系简介

通过针孔模型,我们了解了成像过程,似乎非常简单,但它此时只是一张图片,给你感官上的理解,要基于它完成复杂的3D测量,必须借用那一连串噼里啪啦让人又爱又恨的数学公式,而公式建立的基础,就是一个个坐标系,具体来说,是一个个笛卡尔坐标系。如果你不知道什么是笛卡尔坐标系,我想你也不会点开我的博客看到这里,所以介绍就此略过。

我认为你们已经掌握了一个前提知识:立体视觉的三个关键坐标系是影像坐标系、相机坐标系、世界坐标系。如果没有,那我就强塞给你这个概念。

影像坐标系

影像坐标系是一个二维坐标系,是在影像内建立的坐标系,描述像素点在影像中的位置,分为以像素为单位的 ( u , v ) (u,v) (u,v)坐标系以及以物理尺寸为单位的 ( x , y ) (x,y) (x,y)坐标系。在计算机视觉中, ( u , v ) (u,v) (u,v)坐标系以左上角位置为原点, u u u轴和 v v v轴分别平行于图像平面的两条垂直边( u u u轴朝右, v v v轴朝下),如图3左所示; ( x , y ) (x,y) (x,y)坐标系以像主点 ( u 0 , v 0 ) (u_0,v_0) (u0,v0)为原点, x x x轴和 y y y轴分别与 u u u轴和 v v v轴平行且方向一致,如图3右所示。

图3 影像坐标系

上面提到像主点,特别说明一下,它是摄影中心到成像平面的垂点,它是一个非常重要的点位。

如果我们知道像素到物理尺寸的转换关系,即一个像素的物理尺寸,也就是像元尺寸为 d x ∗ d y dx*dy dxdy x x x方向尺寸为 d x dx dx y y y方向尺寸为 d y dy dy),就可以在两类坐标系之间相互转换:
u − u 0 = x / d x v − v 0 = y / d y \begin{aligned} u-u_0&=x / d_x\\ v-v_0&=y / d_y \end{aligned} uu0vv0=x/dx=y/dy

为了便于矩阵运算,我们会写成矩阵形式:
[ u v 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ x y 1 ] \left[\begin{matrix}u\\v\\1\end{matrix}\right]=\left[\begin{matrix}\frac 1 {d_x}& 0&u_0\\ 0& \frac 1 {d_y}&v_0\\0&0&1\end{matrix}\right]\left[\begin{matrix}x\\y\\1\end{matrix}\right] uv1=dx1000dy10u0v01xy1

公式两边的三维矢量是一种齐次表达方式,即把第三维设置为1来用三维矢量表示二维矢量,这样做的好处是可以用矩阵运算的方式完成三维到二维的变换。为什么要做这个转换呢?是因为 x y xy xy坐标系和相机坐标系的紧密联系,同学们往后看。

相机坐标系

相机坐标系是一个三维空间坐标系,是非常关键的一个坐标系,它承担着建立影像坐标系和世界坐标系之间联系的重任。所以前人们在建立相机坐标系时,有一个很关键的考量是如何能更好的把影像坐标系和世界坐标系之间联系起来。

两个三维坐标系(相机和世界)之间的转换用旋转和平移就可以方便表达,重点是三维的相机坐标系和二维的影像坐标系之间如何更好转换。方案是这样的:相机坐标系的原点在相机中心, X Y XY XY轴和影像 x y xy xy坐标系的 x y xy xy轴平行, Z Z Z轴垂直于像平面且朝向像平面, Z Z Z轴和像平面的交点正是影像 x y xy xy坐标系的原点(像主点)。如图4所示。

图4 相机坐标系

在此方案下,像平面上的所有像素点在相机坐标系下的 Z Z Z坐标等于焦距 f f f X Y XY XY坐标和影像 x y xy xy坐标系下的值相等,即若像素点 p p p在影像 x y xy xy坐标系下的坐标为 ( x , y ) (x,y) (x,y),则其在相机坐标系下的坐标为 ( x , y , f ) (x,y,f) (x,y,f)

根据中心投影的特征,假设像素点 p p p是空间点 P P P的投影点,那么如何建立两兄弟之间的坐标关系呢?

图5 相机坐标系2

我们假设像素 p p p对应的空间点在相机坐标系下的坐标为 ( X c , Y c , Z c ) (X_c,Y_c,Z_c) (Xc,Yc,Zc)(下标c是camera的意思)。若两点位于从坐标系原点发出的同一条直线上,那么他们的坐标有什么关系?答案是等比例关系。即
x X c = y Y c = f Z c \frac x {X_c}=\frac y {Y_c}=\frac f {Z_c} Xcx=Ycy=Zcf

为了便于矩阵运算,我们会写成矩阵形式:
[ x y 1 ] = [ f Z c 0 0 0 f Z c 0 0 0 1 Z c ] [ X c Y c Z c ] \left[\begin{matrix}x\\y\\1\end{matrix}\right]=\left[\begin{matrix}\frac f {Z_c}& 0&0\\ 0& \frac f {Z_c}&0\\0&0&\frac 1 {Z_c}\end{matrix}\right]\left[\begin{matrix}X_c\\Y_c\\Z_c\end{matrix}\right] xy1=Zcf000Zcf000Zc1XcYcZc

还记得上一节,我们把 x y xy xy坐标系转换成 u v uv uv坐标系,结合上式,便可以把相机坐标系转换成 u v uv uv坐标系,即
[ u v 1 ] = [ 1 d x 0 u 0 0 1 d y v 0 0 0 1 ] [ f Z c 0 0 0 f Z c 0 0 0 1 Z c ] [ X c Y c Z c ] = 1 Z c [ f d x 0 u 0 0 f d y v 0 0 0 1 ] [ X c Y c Z c ] \left[\begin{matrix}u\\v\\1\end{matrix}\right]=\left[\begin{matrix}\frac 1 {d_x}& 0&u_0\\ 0& \frac 1 {d_y}&v_0\\0&0&1\end{matrix}\right]\left[\begin{matrix}\frac f {Z_c}& 0&0\\ 0& \frac f {Z_c}&0\\0&0&\frac 1 {Z_c}\end{matrix}\right]\left[\begin{matrix}X_c\\Y_c\\Z_c\end{matrix}\right]=\frac 1 {Z_c}\left[\begin{matrix}\frac f {d_x}& 0&u_0\\ 0& \frac f {d_y}&v_0\\0&0&1\end{matrix}\right]\left[\begin{matrix}X_c\\Y_c\\Z_c\end{matrix}\right] uv1=dx1000dy10u0v01Zcf000Zcf000Zc1XcYcZc=Zc1dxf000dyf0u0v01XcYcZc

通常把 Z c Z_c Zc称为尺度因子 λ λ λ,把中间的3x3矩阵叫做内参矩阵 K K K,显然内参矩阵 K K K描述的是相机坐标系到 u v uv uv坐标系的转换关系。简单的表达式如下
λ p = K P c \lambda p=KP_c λp=KPc

内参矩阵

内参矩阵 K K K是相机的关键参数之一 f d x \frac f{d_x} dxf f d y \frac f{d_y} dyf实际是将以物理尺寸为单位的焦距 f f f转换成像素为单位的焦距值,记 f x = f d x f_x=\frac f{d_x} fx=dxf f y = f d y f_y=\frac f{d_y} fy=dyf f x f_x fx f y f_y fy分别是焦距在两个像元方向上的像素单位值。最终得到内参的矩阵表达:
K = [ f x 0 u 0 0 f y v 0 0 0 1 ] K=\left[\begin{matrix}f_x&0&u_0\\0&f_y&v_0\\0&0&1\end{matrix}\right] K=fx000fy0u0v01

额外需要了解的一点是,由于制造工艺的偏差,像素不是绝对的矩形(图6左),而是一个平行四边形(图6右)。

图6 倾斜像素

这时候像素的纵向边界和 y y y轴并不平行而是倾斜一定的角度,于是在 K K K矩阵中引入一个倾斜因子 s s s(实际上可以推导 s = f x t a n ( a ) s=f_xtan(a) s=fxtan(a),这里就不展开了,感兴趣的可以查资料自己推导下),此时 K K K矩阵表示为
K = [ f x s u 0 0 f y v 0 0 0 1 ] K=\left[\begin{matrix}f_x&s&u_0\\0&f_y&v_0\\0&0&1\end{matrix}\right] K=fx00sfy0u0v01

最后相机坐标到 u v uv uv坐标的转换公式为:
λ [ u v 1 ] = [ f x s u 0 0 f y v 0 0 0 1 ] [ X c Y c Z c ] \lambda \left[\begin{matrix}u\\v\\1\end{matrix}\right]=\left[\begin{matrix}f_x&s&u_0\\0&f_y&v_0\\0&0&1\end{matrix}\right]\left[\begin{matrix}X_c\\Y_c\\Z_c\end{matrix}\right] λuv1=fx00sfy0u0v01XcYcZc

世界坐标系

世界坐标系是一个固定的三维坐标系,是一个绝对坐标系,它旨在将空间中的所有点都统一到同一个坐标系下表达,在不同的应用场景中,世界坐标系的定义并不一样,比如大地测量中,将水准原点当做世界坐标系的原点;在相机标定中,将标定板的某个角点作为世界坐标系。
在这里插入图片描述

图7 世界坐标系

世界坐标系和相机坐标系都是三维坐标系,它们之间可以用旋转平移来做转换在这里插入图片描述

图8 坐标系之间的旋转平移

假设空间点P在世界坐标系中的坐标为 ( X w , Y w , Z w ) (X_w,Y_w,Z_w) (Xw,Yw,Zw),则可以通过一个3x3的单位正交旋转矩阵 R R R 和3x1的平移矢量 t t t 来转换成相机坐标系坐标 ( X c , Y c , Z c ) (X_c,Y_c,Z_c) (Xc,Yc,Zc)
[ X c Y c Z c ] = R 3 × 3 [ X w Y w Z w ] + t 3 × 1 \left[\begin{matrix}X_c\\Y_c\\Z_c\end{matrix}\right]=R_{3\times3}\left[\begin{matrix}X_w\\Y_w\\Z_w\end{matrix}\right]+t_{3\times1} XcYcZc=R3×3XwYwZw+t3×1

或者写成另一种形式:
[ X c Y c Z c ] = [ R 3 × 3 t 3 × 1 ] [ X w Y w Z w 1 ] \left[\begin{matrix}X_c\\Y_c\\Z_c\end{matrix}\right]=\left[\begin{matrix}R_{3\times3}&t_{3\times1}\end{matrix}\right] \left[\begin{matrix}X_w\\Y_w\\Z_w\\1\end{matrix}\right] XcYcZc=[R3×3t3×1]XwYwZw1

我们把旋转矩阵 R R R 和平移矢量 t t t 称为相机的外参矩阵

外参矩阵

外参矩阵也是相机的关键参数之一,由一个3x3的单位正交旋转矩阵 R R R 和3x1的平移矢量 t t t 组成,它们描述的是世界坐标系到相机坐标系之间的转换关系。需要提一点的是,在不同学科中外参矩阵会有一些定义区别,比如在摄影测量学科中,将相机坐标系转换到世界坐标系的旋转矩阵 R R R 以及摄影中心在世界坐标系中的位置 C C C 作为外参。它们目的一致,都是为了描述相机和世界坐标系之间的转换关系。

同样用一个简单表达式来描述世界坐标系到相机坐标系的变换:
P c = [ R t ] [ P w 1 ] P_c=\left[\begin{matrix}R&t\end{matrix}\right]\left[\begin{matrix}P_w\\1\end{matrix}\right] Pc=[Rt][Pw1]

投影矩阵

虽然我们花很多篇幅介绍了相机坐标系,但是在实践过程中,最直接接触的却是影像 u v uv uv坐标系和世界坐标系,在影像三维重建中,通常前者是输入,后者是输出,所以将世界坐标系转换成 u v uv uv坐标系是很关键的转换。

上文已经得到了世界到相机,相机到 u v uv uv的转换公式,因此世界到 u v uv uv并没有什么难度:
λ [ u v 1 ] = [ f x s u 0 0 f y v 0 0 0 1 ] [ R 3 × 3 t 3 × 1 ] [ X w Y w Z w 1 ] \lambda \left[\begin{matrix}u\\v\\1\end{matrix}\right]=\left[\begin{matrix}f_x&s&u_0\\0&f_y&v_0\\0&0&1\end{matrix}\right]\left[\begin{matrix}R_{3\times3}&t_{3\times1}\end{matrix}\right] \left[\begin{matrix}X_w\\Y_w\\Z_w\\1\end{matrix}\right] λuv1=fx00sfy0u0v01[R3×3t3×1]XwYwZw1

世界坐标系到影像坐标系的转换实际上表达的是透视投影中空间点到像点的投影关系,所以把该转换矩阵叫做投影矩阵 M M M,通过矩阵运算可知投影矩阵是一个3x4的矩阵,它是内参矩阵和外参矩阵的乘积。

同样用一个简单表达式来表达这种转换:
λ p = K [ R t ] [ P w 1 ] = M [ P w 1 ] , M = K [ R t ] \lambda p=K\left[\begin{matrix}R&t\end{matrix}\right]\left[\begin{matrix}P_w\\1\end{matrix}\right]=M\left[\begin{matrix}P_w\\1\end{matrix}\right],M=K\left[\begin{matrix}R&t\end{matrix}\right] λp=K[Rt][Pw1]=M[Pw1],M=K[Rt]

总结

本节我们通过针孔模型引入以透视投影为基本原理的相机成像模型,并对一切公式推导的源头:三大坐标系(影像/相机/世界) 做了详细的介绍,在深入了解坐标系的过程中,几类关键的相机参数(内参/外参)也缓缓而出。用图示加公式推导,让大家直观且有逻辑性的掌握这方面的知识,希望能够给入门的同学一些帮助,下一节我们再见。

练习作业

这里为大家准备了一些练习题,可以通过实践加深理解:

练习:写一个Camera类(基于Eigen库 ),用内参矩阵K、旋转矩阵R、平移矩阵t(或相机中心C)来构造
实现接口:

  1. 世界坐标系到相机坐标系的转换 W2C
  2. 相机坐标系到世界坐标系的转换 C2W
  3. 相机坐标系到图像坐标系的转换 C2I
  4. 世界坐标系到图像坐标系的转换 W2I
  5. 有深度作为参数,图像坐标系到相机坐标系的转换I2C
  6. 有深度作为参数,图像坐标系到世界坐标系的转换I2W

参考答案地址:https://github.com/ethan-li-coding/StereoV3DCode

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1383134.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

camera学习入门指南

等待补充。 1.背景介绍 近年来,随着消费电子领域市场的快速增长,如安防、图像等领域,camera市场得到了快速发展。智能手机这几年以拍照作为主打卖点,带动了camera(CCM)出货。 具体可以看电子行业分析或者券…

机器视觉——入门基础(三)——相机镜头选型

目录 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 相机选型 分辨率、快门、帧率、色彩、靶面、接口 镜头选型 分辨率、靶面、焦距、接口、光圈畸变工作距离 常用计算示例 1. 面阵相机和镜头选型 已…

划重点!| 必须了解的工业相机入门级知识

工业相机是机器视觉系统的核心部件,其相关基础知识是行业内人员必须熟知的。那么分辨率、像素深度、行频、信噪比具体是指什么?CCD和CMOS又该如何去进行选择?今天我们就对这些内容进行一个简单的梳理,希望能够帮助大家了解更多。 …

机器视觉——入门基础(一)—— 相机篇

目录 一,相机就是CCD么? 二,像素。 三,像素直径。 四,CCD的大小。 五,快门速度。 六,增益。 七,1D相机(线扫描相机) 八,3D相机。 九&…

IP 协议的相关特性和数据链路层相关知识总结

目录 IP 协议的相关特性 一、IP协议的特性 二、 IP协议数据报格式 三、 IP协议的主要功能 1. 地址管理 动态分配 IP地址 NAT机制 NAT背景下的通信 IPV6 2. 路由控制​​​​​​​ 3.IP报文的分片与重组 数据链路层相关知识 1、以太网协议(Ethernet) 2.M…

掌握Python的X篇_28_python包管理工具pip命令

本篇将会介绍在实际使用python中最能节省效率的内容,利用第三方库拿来就用。 文章目录 1. pip命令是什么2. pip相关操作2.1 list2.2 install2.3 uninstall2.4 导出和导入2.4.1 freeze命令2.4.2 “-r” 3. 国内镜像4. Python Packges Index网站 1. pip命令是什么 p…

DiskGenius分区移动硬盘

打开DiskGenius 右键点击1T(实际显示是900多G)的移动硬盘,选择快速分区 分区个数按自己需要来选,卷标也按自己需要来修改,取消主分区的勾选框,因为是移动硬盘,不需要转操作系统,所以…

AUtoCAD Civil 3D-曲面-原始数据处理

Civil3D中,曲面是最重要的一个对象之一。曲面涉及到的知识点比较多,作为一个刚接触Civil3D的学习者,可能对于各种概念和各种概念之间的关系比较迷惑。这篇文章及梳理下曲面的一些重要的概念框架。 1、 曲面的分类 曲面可以分为四种类型&…

如何将卫星影像或者航拍影像叠加到CAD设计图上(Auto CAD版)

同步视频教程:卫星图像应用到AutoCAD工程设计(套合、叠加、配准)-Bigemap GIS Office 视频教程:如何选择中央子午线或者分度带 第一步 工具准备 BIGEMAP地图下载器:Bigemap系列产品-GIS行业基础软件kml\shp 相关教…

AutoCAD套合(叠加)卫星影像和矢量路网数据-CAD配准

BIGEMAP无偏移影像叠加配准(Auto CAD版) ​ 同步视频教程:http://www.iqiyi.com/w_19rubyfogh.html 专题地图制作视频教程:http://www.iqiyi.com/w_19rvlbep4l.html#vfrm16-1-1-1 下载:全国路网数据、全国水系矢量 …

cad图转成shp文件并把其平面坐标投影配准成大地坐标(配准针对没有底图的情况)

所需工具:arcmap,supermap(这里安装过程就不写了,网上一堆,自行搜搜吧。) 一、先将cad图转成shp文件 打开arcmap中,在图层中加入数据。 在arcmap中导入cad图后,选择需要的要素导出。比如,这里需要面要素,右击面要素,选择数据,点击导出数据。 选择将要导出shp文件…

history记录日期时间和日志记录操作

history命令能查看到操作日期和时间的配置方法: 1)在/etc/profile文件中添加一行: export HISTTIMEFORMAT"%F %T whoami " 2)保存后,执行加载命令: source /etc/profile 3)然后检…

ASP.NET Core - 缓存之分布式缓存

分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时。 与其他将缓存数据存储在单个应用服务器上的缓存方案相比&am…

【SWAT水文模型】SWATCUP率定参数实例-以洮河流域为例

SWATCUP率定参数实例 以SWATCUP首次模拟结果为例,具体模拟结果如下: 模拟参数结果如下: Parameter_Name Fitted_Value Min_value Max_value 1:R__CN2.mgt -0.180000 -0.200000 0.200000 2:V__SUR…

深入浅出流批一体理论篇——数据架构的演进

一、前大数据时代 人人都知道罗马不是一天建成的,但没人告诉过你罗马是怎样一天天建成的。你看见罗马时,它就已经是罗马了。当我进阿里时,正是这样的感觉。我没有经历过阿里数据架构(包括平台工具)从0到1的过程。我相…

linux镜像下载与安装

https://www.kernel.org/ 中国科技大学网站:http://centos.ustc.edu.cn/centos/ 清华大学网站:https://mirrors.tuna.tsinghua.edu.cn/centos/7/isos/ http://mirror.centos.org/centos/7/isos/ Centos7.6 安装 1、引导进入安装界面后,选择安…

linux系统镜像官方下载地址

Centos镜像 http://mirror.nsc.liu.se/centos-store/7.2.1511/isos/x86_64/ #所有镜像下载地址 https://www.centos.org/download/ 这里选择的是centos7,64位系统 选择国内的镜像即可 选择第一个镜像文件下载 Ubuntu镜像 ubuntu 后面跟LTS(Long Term Support )&#xff0…

Linux系统各发行版镜像下载

标题Linux系统各发行版镜像下载,包括CentOS、RedHat Enterprise Linux、Ubuntu、Fedora、SUSE等。 建议选择地域离您比较近的服务器。 1、搜狐 http://mirrors.sohu.com/ 例如: CentOS7.7的下载目录是http://mirrors.sohu.com/centos/7.7.1908/isos…

下载虚拟机安装linux镜像(图形化)

1、下载虚拟机的网址 https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html 这里选择第一个windows的版本,直接下载安装就好了,里面需要的序列号百度找一下就好了 我的虚拟机版本是15.5的,这里就没用详细…

Linux镜像下载及虚拟机中安装

目录 一、官网下载 二、新建虚拟机 三、镜像安装 一、官网下载 Download - CentOS Wiki 或者右上角download-》下拉找到如图找到老版本 1.往下拉,我们选择7.7版本 2.往下拉,找到ISOS 3.选择版本 4.找DVD.iso的就可以 二、新建虚拟机 1.新建虚拟机…