对于我正在处理的项目,我需要自动确定视频是否是 VR (360) 视频,如果是,它是什么格式。有什么办法可以告诉吗?我在考虑元数据,但找不到任何关于此的信息。
我已经陷入这个问题大约2个月了,尝试过每一个相关的SO帖子,博客和教程,我可以在那里找到.请帮忙:
我有一个平面全景图像,我想将其转换为cubeMap或Equirectangular格式.我使用了一些SO帖子来从cubeMap创建equirectangular图像,反之亦然.我可以做到这一点,但这一切都需要以某种形式投影360º的图像.问题是如何从平面全景准备立方体贴图?
我也看过方法对FishEye进行cubeMap/equirectangular投影.但无法找到是否有办法可以从平面图像中创建equirectangular投影.
equirectangular投影:
cubeMap Projection:
我也可以在两者之间进行转换.但我不知道如何创建上述任何一个?openCV实现更可取,但也可以使用OpenGLES代码.谢谢.
我试图代表我的应用程序的用户发布360°照片,但我无法弄清楚如何使其工作.
我加载了Facebook Javascript Graph API,使用"publish_actions"范围记录用户并使用以下代码使用equirectangular投影发布图片:
FB.api(
"/me/photos",
"POST",
{
"url": "MY_PUBLIC_URL",
"allow_spherical_photo": true,
"spherical_metadata": {
"ProjectionType": "equirectangular",
"CroppedAreaImageWidthPixels": 240,
"CroppedAreaImageHeightPixels": 240,
"FullPanoWidthPixels": 1962,
"FullPanoHeightPixels": 981,
"CroppedAreaLeftPixels": 981,
"CroppedAreaTopPixels": 490
}
}, function (response) {
console.log(response); // I get "{"id":"...", post_id:"..."} so no error
if (response && !response.error) {
/* handle the result */
}
}
);
Run Code Online (Sandbox Code Playgroud)
它在当前用户的时间轴上正确发布,但它显示为"普通"图片,而不是360°全景图.
有人实施了360°全景发布功能吗?
我的照片应该具有正确的比例(2:1)并且是正确的360°照片.
预先感谢您的帮助.
我正在使用 Xcode 8 和 Swift 3 以及 SceneKit
我正在制作一款发生在空中浮岛上的游戏。我希望背景是有云的美丽天空,并且当相机像天空盒一样移动时,我希望它相应地移动。
我可以使用 6 个图像组成的数组环绕来制作天空盒,但我在网上找不到任何好的图像,也找不到任何好的生成器来制作它们。我可以找到像这样的优质 360 度图像。我的问题是:如何使用上面的图像在 SceneKit 中制作天空盒?我很确定这是可能的,因为苹果在他们的网站上有它:
https://developer.apple.com/documentation/scenekit/scnmaterialproperty/1395372-contents
(您必须向下滚动一点才能看到它)
那么有没有办法做到这一点,以及如何做到这一点?谢谢。任何帮助表示赞赏。
是否可以通过事件控制360度视频在时间上向前或向后移动(帧+/- 1),例如按下控制器按钮?
这里的想法是从视频中提取环境.视频不应该播放.按下按钮时,我们可以转到下一个/上一个帧.
有关于此的一些文件吗?我只找到了Skybox-PanoramicBeta.shader.
unity-game-engine virtual-reality 360-panorama 360-virtual-reality
如何使用多分辨率图像实现三个 js 全景查看器,如 pannellum:https ://pannellum.org/documentation/examples/multiresolution/ 。
当前的代码在这里使用three.js所:(//codepen.io/w3core/pen/vEVWML
)。
所以我尝试加载多分辨率图像而不是单个等距柱状图。
我在下面尝试的解决方案:
将单个等距柱状图图像转换为低分辨率 6 立方体地图图像。
并像此示例一样渲染这些图像。( https://threejs.org/examples/canvas_geometry_panorama.html )
var materials = [
loadTexture('px.jpg'), // right
loadTexture('nx.jpg'), // left
loadTexture('py.jpg'), // top
loadTexture('ny.jpg'), // bottom
loadTexture('pz.jpg'), // back
loadTexture('nz.jpg') // front
];
mesh = new THREE.Mesh(new THREE.BoxGeometry(300, 300, 300, 7, 7, 7), materials);
mesh.scale.x = -1;
scene.add(mesh);
Run Code Online (Sandbox Code Playgroud)如果放大任何立方体贴图图像,我需要渲染另一个中等分辨率的图像。
打到这里
如何进行下面的事情
在下面的示例缩放图像中...
我已将缩放级别设为 0,但无法进行渲染缩放 1、2、3 等。
缩放:0(低分辨率立方体贴图正面图像示例)
缩放:1(缩放时,需要渲染下一组中等分辨率的瓷砖正面图像,如下所示)
我愿意对6个鱼眼相机进行360\xc2\xb0全景拼接。
\n为了找到相机之间的关系,我需要计算单应性矩阵。后者通常是通过查找图像中的特征并进行匹配来计算的。
\n然而,对于我的相机设置我已经知道:
\n因此,我认为我可以手动计算单应性矩阵,我认为这会产生比执行特征匹配更准确的方法。
\n在文献中,我找到了以下公式来计算将图像 2 与图像 1 相关联的单应性矩阵:
\nH_2_1 = (K_2) * (R_2)^-1 * R_1 * K_1\n
Run Code Online (Sandbox Code Playgroud)\n该公式仅考虑相机之间的旋转角度,而不考虑我的情况中存在的平移向量。
\n如何将每个摄像机的平移 t 插入到 H 的计算中?
\n我已经尝试在不考虑平移的情况下计算 H,但由于 d>1 米,图像在全景图中没有准确对齐。
\n编辑:
\n根据下面弗朗西斯科的回答,我得到了以下问题:
\n校准鱼眼镜头后,我得到了一个尺寸为 1024 x 768 的图像的K
焦距矩阵。f=620
这被认为是大焦距还是小焦距?
我的相机位于一个直径为 1 米的圆上。下面的解释让我很清楚,由于相机之间的这种“大”平移,我对距离它们相对较近的物体产生了显着的重影效果。因此,如果Homography模型不能完全代表相机的位置,是否可以使用其他模型(例如Fundamental/Essential Matrix)进行图像拼接?
\ncomputer-vision homography projective-geometry image-stitching 360-panorama
360-panorama ×7
javascript ×2
c++ ×1
facebook ×1
homography ×1
ios ×1
opencv ×1
opengl-es ×1
skybox ×1
swift ×1
three.js ×1
xcode ×1