问题标签 [camera-matrix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 如何使用相机矩阵在图像中以毫米为单位查找点的位置?
我使用的是标准 640x480 网络摄像头。我已经在 Python 3 的 OpenCV 中完成了相机校准。这是我正在使用的代码。该代码正在运行,并成功为我提供了相机矩阵和失真系数。现在,我如何才能在我的场景图像中找到 640 像素中有多少毫米。我已将网络摄像头水平安装在桌子上方,并在桌子上放置了机械臂。使用相机我正在寻找物体的质心。使用相机矩阵我的目标是将该对象的位置(例如 300x200 像素)转换为毫米单位,以便我可以将毫米分配给机械臂以拾取该对象。我已经搜索但没有找到任何相关信息。请告诉我是否有任何方程式或方法。非常感谢!
这是相机矩阵:
失真系数:
camera - 将一个盒子从世界投影到图像平面
我有一个带有外在参数和内在参数的校准相机,这样我就可以将世界上的可见点投射回图像。
但我需要能够处理相机无法看到的点。
- 我怎么知道相机是否可以看到一个点?当只处理一个点时,这将解决问题。
- 如何将可能仅部分可见的 3d 框(8 点)投影回图像?
我的知识有限,我不能为此使用 3rd 方框架,而是需要在 python/C 中实现它。
c++ - 像 Unity 中的 OpenGL“自由纵横比”
我使用 OpenGL 和 C++ 在 Visual Studio 中制作了自己的简单关卡编辑器,为安卓手机创建游戏。但是我偶然发现了一个问题,即我放入编辑器中的某些对象在 android 上没有正确显示,有时甚至没有出现。我一直在四处寻找,找不到解决方案。所以这是我的lLevel Editor的正交相机和屏幕分辨率:
相机对象正交矩阵:
它对于 android 也完全相同(使用 ndk)。
纵横比被注释掉了,因为我正在试验,如果不乘以纵横比,整个世界都会被拉伸。
现在到统一的自由纵横比,我有一种感觉,就像我的正射相机一样,没有乘以纵横比。那到底是什么,当我选择自由纵横比时,我放置在统一上的每个对象如何保持 1:1 并且它没有被拉伸或任何东西?如果有人可以向我解释这一点,那真的会对我有很大帮助。
还有一件事。我已经使用 opengl 在 android 上制作了几款游戏,但我特别将背景图像设置为精确的宽度和高度,因为我一直在乘以我的正交矩阵中的纵横比。但是这次我只想提取背景和对象的位置和大小,并让它们保持它们的外观而不拉伸不同的分辨率。
如果有任何其他通用解决方案,如果没有我想我应该在关卡编辑器上使用一些固定分辨率并为 android 使用相同的分辨率?
opencv - 图片中所有对象的相同相机矩阵
我在图片中有一个对象,我想为这张图片中的每个对象找到相机矩阵,但是对于所有对象,相机矩阵应该具有相同的大小,例如:CM 门 = CM 窗口 = CM 灯
我有 x,y 坐标和 X,Y,Z 真实世界坐标