前提・実現したいこと
REALSENSE D455から得たデプス画像を画像処理したい
→ REALSENSEのカメラ情報が入っているRawImageからピクセル情報を入手した後、planeに描画したい
発生している問題・エラーメッセージ
エラーメッセージ
error CS1503: Argument 1: cannot convert from 'UnityEngine.Color32[]' to 'int'
Color32からColor32にコンバートしているつもりなのに、intになってしまっているところが理解できず行き詰っています。
該当のソースコード
RawImageにアタッチしているスクリプト("RawImageScript.cs")
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class RawImageScript : MonoBehaviour { RawImage rawimage; public Texture2D rawtexture; public GameObject image; ImageScript image_script; // Start is called before the first frame update void Start() { image_script = image.GetComponent<ImageScript>(); rawimage = GetComponent<RawImage>(); rawimage.texture = rawtexture; } // Update is called once per frame void Update() { rawtexture.GetPixels32 (image_script.colors); // ここでエラー int width = rawtexture.width; int height = rawtexture.height; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { Color32 c = image_script.colors [x + y * width]; image_script.colors [x + y * width] = c; } } image_script.texture.SetPixels32 (image_script.colors); image_script.texture.Apply (); } }
Image(Plane)にアタッチしているスクリプト("ImageScript.cs")
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class ImageScript : MonoBehaviour { public int width = 640; public int height = 480; public int fps = 30; public Texture2D texture; public Color32[] colors = null; // Use this for initialization void Start () { texture = new Texture2D (width, height, TextureFormat.RGBA32, false); GetComponent<Renderer> ().material.mainTexture = texture; colors = new Color32[width * height]; } // Update is called once per frame void Update () { } }
自分で調べたことや試したこと
・REALSENSEを動かすサンプル(参照:https://tks2.co.jp/2019/12/21/intel-realsense )
・RawImage.textureのリファレンス(参照:https://docs.unity3d.com/ja/2018.4/ScriptReference/UI.RawImage-texture.html )
・Webカメラの映像を画像処理するプログラム(参照:https://nn-hokuson.hatenablog.com/entry/2017/08/09/192813 )
のプログラムを組み合わせて作成
Unity初心者なので、基礎的なところでつまずいている可能性があります
質問がわかりづらいところあるかもしれませんがご協力よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/21 07:45