照相机模型与增强现实

本文介绍了增强现实的两种定义,并通过Python实现了一个简单的增强现实示例,包括绘制立方体和茶壶。首先,利用特征匹配和相机校准计算 Homography 矩阵,然后将3D点投射到图像上,实现立方体在不同视角的投影。接着,展示了如何使用相同的方法绘制茶壶,提供了一段包含关键代码的Python程序。
摘要由CSDN通过智能技术生成

增强现实的简单实现(立方体、茶壶)
目前对于增强现实有两种通用的定义。一是北卡大学罗纳德·阿祖玛(Ronald Azuma)于1997年提出的,他认为增强现实包括三个方面的内容:
1.将虚拟物与现实结合
2.即时互动
3.三维
而另一种定义是1994年保罗·米尔格拉姆(Paul Milgram)和岸野文郎(Fumio Kishino)提出的现实-虚拟连续统(Milgram’s Reality-Virtuality Continuum)。他们将真实环境和虚拟环境分别作为连续系统的两端,位于它们中间的被称为“混合实境”。其中靠近真实环境的是增强现实(Augmented Reality),靠近虚拟环境的则是扩增虚境。

一、立方体
1.代码:from pylab import *
from PIL import Image
from OpenGL.GLUT import *

If you have PCV installed, these imports should work

from PCV.geometry import homography, camera
from PCV.localdescriptors import sift

“”"
This is the augmented reality and pose estimation cube example from Section 4.3.
“”"

def draw_teapot(size):
glEnable(GL_LIGHTING)
glEnable(GL_LIGHT0)
def cube_points(c, wid):
“”" Creates a list of points for plotting
a cube with plot. (the first 5 points are
the bottom square, some sides repeated). “”"
p = []
# bottom
p.append([c[0]-wid, c[1]-wid, c[2]-wid])
p.append([c[0]-wid, c[1]+wid, c[2]-wid])
p.append([c[0]+wid, c[1]+wid, c[2]-wid])
p.append([c[0]+wid, c[1]-wid, c[2]-wid])
p.append([c[0]-wid, c[1]-wid, c[2]-wid]) #same as first to close plot

def my_calibration(sz):
“”"
Calibration function for the camera (iPhone4) used in this example.
“”"
row, col = sz
fx = 2555col/2592
fy = 2586
row/1936
K = diag([fx, fy, 1])
K[0, 2] = 0.5col
K[1, 2] = 0.5
row
return K

comp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值