最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

VuforiaUnityCameraImageAccess

来源:懂视网 责编:小采 时间:2020-11-09 15:29:01
文档

VuforiaUnityCameraImageAccess

VuforiaUnityCameraImageAccess:本文描述了两种方法获取QCAR相机在unity的图像。 The Image class 有两个选项获取摄像机图像从unity(没有增加)。一个是使用 Image 的类。这就像本地的版本。首先,使用 CameraDevice 注册所需的图像式。SetFrameFormat方法: CameraDe
推荐度:
导读VuforiaUnityCameraImageAccess:本文描述了两种方法获取QCAR相机在unity的图像。 The Image class 有两个选项获取摄像机图像从unity(没有增加)。一个是使用 Image 的类。这就像本地的版本。首先,使用 CameraDevice 注册所需的图像式。SetFrameFormat方法: CameraDe

本文描述了两种方法获取QCAR相机在unity的图像。 The Image class 有两个选项获取摄像机图像从unity(没有增加)。一个是使用 Image 的类。这就像本地的版本。首先,使用 CameraDevice 注册所需的图像式。SetFrameFormat方法: CameraDevice.Instance.SetFrameFo

本文描述了两种方法获取QCAR相机在unity的图像。

The Image class

有两个选项获取摄像机图像从unity(没有增加)。一个是使用Image的类。这就像本地的版本。首先,使用CameraDevice注册所需的图像格式。SetFrameFormat方法:
CameraDevice.Instance.SetFrameFormat(Image.PIXEL_FORMAT.RGB888, true);

在QCARBehaviour运行Start方法调用此方法(使用Unity脚本排序特征,或在一次更新回调)。

然后,您可以使用CameraDevice.GetCameraImage方法检索图像。您可以从ITrackerEventHandler.OnTrackablesUpdated回调来确保你获取最新的相机的图像匹配当前帧。经常检查以确保相机的图像是无效的,因为它可以登记注册后的图像变得可用图像格式需要几帧。

这是完整的脚本:

using UnityEngine;
using System.Collections;
public class CameraImageAccess : MonoBehaviour, ITrackerEventHandler
{
 private Image.PIXEL_FORMAT m_PixelFormat = Image.PIXEL_FORMAT.RGB888;
 private bool m_RegisteredFormat = false;
 private bool m_LogInfo = true;
 void Start()
 {
 QCARBehaviour qcarBehaviour = (QCARBehaviour) FindObjectOfType(typeof(QCARBehaviour));
 if (qcarBehaviour)
 {
 qcarBehaviour.RegisterTrackerEventHandler(this);
 }
 }
 public void OnTrackablesUpdated()
 {
 if (!m_RegisteredFormat)
 {
 CameraDevice.Instance.SetFrameFormat(m_PixelFormat, true);
 m_RegisteredFormat = true;
 }
 if (m_LogInfo)
 {
 CameraDevice cam = CameraDevice.Instance;
 Image image = cam.GetCameraImage(m_PixelFormat);
 if (image == null)
 {
 Debug.Log(m_PixelFormat + " image is not available yet");
 }
 else
 {
 string s = m_PixelFormat + " image: \n";
 s += " size: " + image.Width + "x" + image.Height + "\n";
 s += " bufferSize: " + image.BufferWidth + "x" + image.BufferHeight + "\n";
 s += " stride: " + image.Stride;
 Debug.Log(s);
 m_LogInfo = false;
 }
 }
 }
}

Background Texture Access

Image类提供了相机的像素作为一个字节数组。这对一些图像处理任务是有用的,但有时最好获得作为一个OpenGL纹理图像。您可以使用BackgroundTextureAccess示例演示的方法。在这里,而不是让Vuforia渲染摄像机图像每一帧,你注册一个Texture2D对象充满相机像素每一帧。见Readme。txt附带的示例(在资产文件夹)两种方式渲染相机图像使用这种方法。


参考资料

https://developer.vuforia.com/resources/dev-guide/unity-camera-image-access

文档

VuforiaUnityCameraImageAccess

VuforiaUnityCameraImageAccess:本文描述了两种方法获取QCAR相机在unity的图像。 The Image class 有两个选项获取摄像机图像从unity(没有增加)。一个是使用 Image 的类。这就像本地的版本。首先,使用 CameraDevice 注册所需的图像式。SetFrameFormat方法: CameraDe
推荐度:
标签: 图像 camera image
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top