C# 尝试访问并更改Vuforia和Unity上的相机像素值

C# 尝试访问并更改Vuforia和Unity上的相机像素值,c#,unity3d,camera,augmented-reality,vuforia,C#,Unity3d,Camera,Augmented Reality,Vuforia,在识别完成之前,我想访问摄像头(pc或手机)。 我想根据亮度和对比度改变像素值。 我的目标是通过拉伸或均衡值来优化vuforia的跟踪​​在改变光线时以直方图的形式显示 我从以下位置检索像素值: 我设法恢复了价值观​​的像素的图像,但我不能修改它们 我在OnTrackablesUpdated方法上尝试了将所有像素设置为0值的方法:image.Pixels.SetValue(字节值,索引) 我的识别再次起作用。如果我所有的像素都为零,它就不会起作用 如何更改像素摄影机值 这是我的密码: 使用Uni

在识别完成之前,我想访问摄像头(pc或手机)。 我想根据亮度和对比度改变像素值。 我的目标是通过拉伸或均衡值来优化vuforia的跟踪​​在改变光线时以直方图的形式显示

我从以下位置检索像素值:

我设法恢复了价值观​​的像素的图像,但我不能修改它们

我在OnTrackablesUpdated方法上尝试了将所有像素设置为0值的方法:
image.Pixels.SetValue(字节值,索引)
我的识别再次起作用。如果我所有的像素都为零,它就不会起作用

如何更改像素摄影机值

这是我的密码:

使用UnityEngine;
使用系统集合;
使用Vuforia;
使用制度;
公共类访问:单行为
{
private Image.PIXEL\u FORMAT mPixelFormat=Image.PIXEL\u FORMAT.UNKNOWN\u FORMAT;
private bool mAccessCameraImage=true;
private bool mFormatRegistered=假;
void Start()
{
mPixelFormat=Image.PIXEL_FORMAT.RGB888;//将RGB888用于移动设备
//注册Vuforia生命周期回调:
VuForiArcController.Instance.RegisterForiAstartedCallback(OnVuforiaStarted);
VuforiaARController.Instance.RegisterTrackablesUpdatedCallback(OnTrackablesUpdated);
VuforiaARController.Instance.RegisterOnPauseCallback(OnPause);
}
void OnVuforiaStarted()
{
//尝试注册相机图像格式
if(CameraDevice.Instance.SetFrameFormat(mPixelFormat,true))
{
Log(“成功注册像素格式”+mPixelFormat.ToString());
mFormatRegistered=真;
}
其他的
{
Debug.LogError(
“\n无法注册像素格式:”+mPixelFormat.ToString()+
“\n您的设备可能不支持该格式。”+
“\n考虑使用不同的像素格式。\n”);
mFormatRegistered=假;
}
}
/// 
///每次更新Vuforia状态时调用
/// 
无效OnTrackablesUpdated()
{
如果(M格式注册)
{
如果(mAccessCameraImage)
{
Vuforia.Image Image=CameraDevice.Instance.GetCameraImage(mPixelFormat);
如果(图像!=null)
{
字节[]像素=图像像素;
}
}
}
}
/// 
///当应用程序暂停/恢复时调用
/// 
暂停时无效(布尔暂停)
{
如果(暂停)
{
Debug.Log(“应用程序已暂停”);
取消注册格式();
}
其他的
{
Debug.Log(“应用程序已恢复”);
RegisterFormat();
}
}
/// 
///注册相机像素格式
/// 
在()处无效
{
if(CameraDevice.Instance.SetFrameFormat(mPixelFormat,true))
{
Log(“已成功注册相机像素格式”+mPixelFormat.ToString());
mFormatRegistered=真;
}
其他的
{
Debug.LogError(“注册相机像素格式失败”+mPixelFormat.ToString());
mFormatRegistered=假;
}
}
/// 
///取消注册相机像素格式(例如,当应用程序暂停时调用此选项)
/// 
void UnregisterFormat()
{
Log(“注销相机像素格式”+mPixelFormat.ToString());
CameraDevice.Instance.SetFrameFormat(mPixelFormat,false);
mFormatRegistered=假;
}
}   

您找到设置像素值的解决方案了吗?