opencvを用いてWebカメラの画像をモノクロにしたいです。
Cubeオブジェクトにtexture2Dを張り付けアタッチしようと考えています。実行したところ、videoCapture.Read(mat);の行が指摘され
NullReferenceException: Object reference not set to an instance of an object Web_camera.Update () ```というエラーが出てしまいました。 このサイトやGoogleさんの方でもこのエラーについて調べました。オブジェクトが参照されていないということで指摘された部分に関して上部の方で定義したと思うのですが解釈違いなのでしょうか。どなたかご教授してくださると助かります。 下記の画像は実際のunityでの実行画面になります。こちらもみていただけると幸いです。 ![![イメージ説明](6ba27d5ff73af631af028e9f77605a26.png)](aa5bf065acbe43526dd8782402e65bbd.png) [環境] Unity:2020.320f1 OpenCvSharp4.4.5.3.20210817 MacBook Pro (13-inch, M1, 2020) ```ここに言語を入力 using System.Collections; using System.Collections.Generic; using UnityEngine; using OpenCvSharp; public class web_camera : MonoBehaviour { [SerializeField] private int m_WebCamIndex = 1; private Texture2D texture2D; private VideoCapture videoCapture; private Mat mat; private Mat grey; void Start () { videoCapture = new VideoCapture(m_WebCamIndex); texture2D = new Texture2D(videoCapture.FrameWidth, videoCapture.FrameHeight, TextureFormat.RGB24, false); GetComponent<Renderer>().material.mainTexture = texture2D; mat = new Mat(); grey = new Mat(); } void Update () { videoCapture.Read(mat); Cv2.CvtColor(mat, grey, ColorConversionCodes.BGR2GRAY); texture2D.LoadImage(grey.ImEncode()); } }
あなたの回答
tips
プレビュー