首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不带摄像头和失真矩阵的OpenCV resolvePnP

不带摄像头和失真矩阵的OpenCV resolvePnP
EN

Stack Overflow用户
提问于 2012-01-11 17:50:57
回答 1查看 1.4K关注 0票数 0

我正在尝试为android制作一个AR应用程序,用户将相机指向正方形标记,3d模型应显示在标记的顶部。

我使用OpenCV来获取标记的旋转和平移,但是..

为了得到这两个矩阵,我使用了solvePnP,我必须为它提供一个相机矩阵和一个失真矩阵,据我所知,这两个矩阵对于每种相机类型都是特定的。不幸的是,这对我来说是一个巨大的缺点,因为大多数安卓设备都应该支持这款应用,而且我也不能要求用户运行摄像头校准程序(由openCV提供的功能)。

那么问题是:有没有一种方法可以消除相机和失真矩阵?或者,有没有其他方法可以计算标记相对于设备的3D位置?

我试过QCAR和Unity AR,但(因为3D模型是从服务器上下载的,而且不断变化),我被迫使用OpenCV。

任何帮助都将不胜感激。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-01-12 07:33:13

对你来说是个坏消息。答案是一个明确的、不可撤销的、巨大的不。

如果你对你的相机一无所知,你真的无法知道任何关于你的图像的事情。相机由两个矩阵来描述:相机垫和失真垫。

但是..。除了坏消息,还有一些好消息。也许你能做点什么。

在许多AR应用中,失真矩阵可以忽略不计。你就是不关心小的扭曲。

如果你知道摄像机的视野,摄像机矩阵可以很容易地构造出来:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
w/(2*tan(camera.fovX())), 0, w/2, 0,
0, h/(2*tan(camera.fovY())), h/2, 0,
0, 0,   1, 0

现在,你会说你已经变好变坏了:你需要相机fov,为此你需要校准。好消息是,在android上你可以使用getHorizontalAperture()getVerticalAperture(),或者别的什么。孔径==视场。

最后,真正的坏消息是:在许多手机上,返回值是不正确的。因为制造商并不关心它。它返回假角度: 10度,180度,等等。

祝你好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8824126

复制
相关文章
失真函数、失真矩阵与平均失真
: 描述某个信源在某一试验信道传输下的失真大小, 它对信源和信道进行了统计平均, 是从总体上描述整个系统的失真。
timerring
2023/04/12
6040
失真函数、失真矩阵与平均失真
OpenCV矩阵运算
OpenCV 使用C语言来进行矩阵操作。不过实际上有很多C++语言的替代方案可以更高效地完成。
流川疯
2022/12/02
4380
opencv读取摄像头和视频数据
淼学派对
2023/10/14
5590
OpenCV调用摄像头
python:python3.6 摄像头:网络摄像头 Python库:openCV
py3study
2020/01/02
1.7K0
OpenCV 调用摄像头
OpenCV调用摄像头还是很简单的,同样是由VideoCapture 来控制,一种是VideoCapture(const string& filename)用来打开视频文件,一种是VideoCapture(int device)用来打开设备。
chaibubble
2022/05/07
9750
独家|OpenCV1.10 使用OpenCV实现摄像头标定
摄像头是一种视觉传感器,它已经成为了机器人技术、监控、空间探索、社交媒体、工业自动化,甚至娱乐业等多个领域不可分割的组成部分。
数据派THU
2021/11/02
2.2K0
独家|OpenCV1.10 使用OpenCV实现摄像头标定
OpenCV 估算图像的投影关系:基础矩阵和RANSAC[通俗易懂]
根据针孔摄像机模型,我们可以知道,沿着三维点X和相机中心点之间的连线,可以在图像上找到对应的点x。反过来,在三维空间中,与成像平面上的位置x对应的场景点可以位于这条线上的所有位置。这说明如果要根据图像中的一个点找到另一幅图像中对应的点,就需要在第二个成像平面上沿着这条线的投影搜索,这条线成为对极线,在这里是 l’ 。另外,所有的对极线都通过同一个点,这个点成为极点,这是图中的 e 和 e’。那么这时,出来了一个矩阵F,称为基础矩阵。
全栈程序员站长
2022/08/04
1.8K0
OpenCV 估算图像的投影关系:基础矩阵和RANSAC[通俗易懂]
opencv 矩阵操作函数
简介OpenCV 矩阵类的成员函数可以进行很多基本的矩阵操作内容列表序号函数描述1cv2.phase()计算二维向量的方向2cv2.polarToCart()已知角度和幅度,求出对应的二维向量3cv2.pow()对矩阵内的每个元素求幂4cv2.randu()用均匀分布的随机数填充给定的矩阵5cv2.randn()用正态分布的随机数填充给定的矩阵6cv2.randShuffle()随机打乱矩阵元素7cv2.reduce()通过特定的操作将二维矩阵缩减为向量8cv2.repeat()将一个矩阵的内容复制到另一个
用户10118114
2022/10/18
4140
失真的概念和定义
对于限失真信源, 应该传送的最小信息率是R(D), 而不是无失真情况下的信息熵H(X) , 显然
timerring
2023/04/09
6520
失真的概念和定义
关于OpenCV for Python入门-图片和摄像头显示
OpenCV和Python结合的学习资料不多,网上的资料更是鱼目混杂,推荐大家OpenCV官方教程中文版 for Python,建议自行下载。
python与大数据分析
2022/04/02
1.4K0
关于OpenCV for Python入门-图片和摄像头显示
OpenCV-判断OpenCV摄像头是否断开
使用opencv的cv::VideoCapture 类对象从摄像头处获取图像时,没法通过isOpened获取的图像判断摄像头是否有断开,即开始时成功获取到图像后,中间摄像头断开了,返回的图像数据还是正常的。 使用摄像头获取图像:
Pulsar-V
2019/03/12
2K0
如何用OpenCV制作一个低成本的立体相机
AR/VR的兴起,让我们喜欢上了3D电影和视频,前提是你需要戴上一副3D眼镜才能感受到3D效果。那么,它是如何工作的?当屏幕只是平面时,我们如何体验3D效果?其实,这些是通过一个叫立体相机的玩意儿来捕获的。
小白学视觉
2021/02/22
1.5K0
如何用OpenCV制作一个低成本的立体相机
opencv调取摄像头录制
淼学派对
2023/10/14
2420
opencv调取摄像头录制
opencv求逆矩阵函数_c++矩阵
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/171663.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/25
8690
opencv 视频实时处理_opencv 控制摄像头
最近研究了通过OpenCV采集摄像头数据,并同时将视频流数据推送到RTSP和RTMP。
全栈程序员站长
2022/11/01
1.4K0
OpenCV - 矩阵操作 Part 3
对二维矢量场计算笛卡尔一极坐标转换的方位角(角度)部分。该矢量场是由两个独立的单通道矩阵组成。当然这两个输入矩阵的尺寸相同。(如果你有一个二通道的矩阵,那么调用cv2.phase()将会做你所需要的。)然后,dst中的每一个元素都从x和y的相应元素中计算两者的反正切值得到。
为为为什么
2022/08/09
1.8K0
OpenCV - 矩阵操作 Part 3
opencv学习(二)-矩阵的掩码操作
根据掩码矩阵(也称作核)重新计算图像中每个像素的值。掩码矩阵中的值表示近邻像素值(包括该像素自身的值)对新像素值有多大影响。从数学观点看,我们用自己设置的权值,对像素邻域内的值做了个加权平均。
ACK
2020/01/14
1.1K0
opencv学习(二)-矩阵的掩码操作
OpenCV - 矩阵操作 Part 1
参数说明src1图像1alpha图像1 权重 (例如 0.5)src2图像2beta图像2 权重 (例如 0.5)gamma附加偏置
为为为什么
2022/08/09
1.5K0
OpenCV - 矩阵操作 Part 1
OpenCV - 矩阵操作 Part 2
当应用于矩阵时,src的每个元素都与upperb和lowerb中的对应元素进行校验。如果src中的元素在由upperb和lowerb给出的值之间,则dst的相应元素设置为255;否则设置为0。
为为为什么
2022/08/09
2.3K0
OpenCV - 矩阵操作 Part 2
OpenCV 畸变矫正映射
https://developer-public-1258344699.cos.ap-guangzhou.myqcloud.com/column/column/10335061/20230218-2d58b817.png
为为为什么
2023/02/18
1.5K0
OpenCV 畸变矫正映射

相似问题

Opencv:校准摄像头和图像的不失真

119

OpenCV -将摄像机矩阵和失真系数存储为矩阵

10

在opencv 2.2中,如何从文件中读取固有矩阵和失真矩阵

11

OpenCV solvePnP桶失真

10

OpenCV点不失真

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文