当前位置:   article > 正文

unity中获取外置摄像头图像后,显示的尺寸问题。_unity调用摄像头显示画面之后怎么画面变形了

unity调用摄像头显示画面之后怎么画面变形了
  1. private WebCamTexture cameraTexture;
  2. private bool isPlay = false;
  3. private string cameraName;
  4. public int getWidth = 1920;
  5. public int getHeight = 1080;
  6. IEnumerator CamInput()
  7. {
  8. yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
  9. if (Application.HasUserAuthorization(UserAuthorization.WebCam))
  10. {
  11. WebCamDevice[] devices = WebCamTexture.devices;
  12. cameraName = devices[0].name;
  13. cameraTexture = new WebCamTexture(cameraName, getWidth, getHeight, 30);
  14. cameraTexture.Play();
  15. print("画面得到");
  16. isPlay = true;
  17. }
  18. }

上面设置的cameraTexture的长和宽其实并不是一定符合你自己规定的值的。

如果你打印一下

  1. private void Update()
  2. {
  3. if (isPlay)
  4. {
  5. print(cameraTexture.width + " " + cameraTexture.height);
  6. }
  7. }

会发现,如果你输入定义1400和800,打印结果是1280和720。也就是说,unity对webcamtexture的大小是受相机干扰的。你的摄像头会自动调整你设置的图像的大小。当设置为800 * 600的时候,不同的usb摄像头也许会做出完全不一样的处理,也许按照你的设置获取图像,也许会自动给你调整为640 * 360的大小。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/826934
推荐阅读
相关标签
  

闽ICP备14008679号