###前提・実現したいこと
WebCamTextureで画面をキャプチャ、キャプチャをTexture2Dに変換。
MAT変換後、Opencvを利用し画像加工をしたいです。
###発生している問題・エラーメッセージ
キャプチャMatにマスク処理をかけると、Mat dst が透明で出力されてしまいます。
Texture2Dの時点でpng画像に落としてみると、しっかりキャプチャされているのは確認できました。
###該当のソースコード
: : //------キャプチャ------// color = webcamTexture.GetPixels (); Texture2D CaptureTexture = new Texture2D (webcamTexture.width, webcamTexture.height, TextureFormat.RGB24, false); CaptureTexture.SetPixels (color); CaptureTexture.Apply (); //Texture2Dをpngに変換 byte[] bytes = CaptureTexture.EncodeToPNG (); simpletestscript.ImageMSK (CaptureTexture,bytes); //------Opencv------// public void ImageMSK (Texture2D Capture, byte[] date) { Mat img_Capture = new Mat (Capture.height, Capture.width, CvType.CV_8UC4); Utils.texture2DToMat (Capture, img_Capture); Texture2D texture_Msk = Resources.Load ("image/MSK") as Texture2D; Mat mask_Hikei = new Mat (texture_Msk.height, texture_Msk.width, CvType.CV_8UC4); Utils.texture2DToMat (texture_Msk, mask_Hikei); //マスク画像を保存するMat Mat img_Hikei = new Mat (Capture.height, Capture.width, CvType.CV_8UC4); Capture.copyTo (img_Hikei, mask_Hikei); }
###試したこと
.LoadRawTextureData (date)も試してみましたが、エラーが出てしまいました。
UnityException: LoadRawTextureData: not enough data provided (will result in overread).
よろしくお願いします。
webCamTextureToMat(https://enoxsoftware.github.io/OpenCVForUnity/3.0.0/doc/html/class_open_c_v_for_unity_1_1_utils.html#a7cdaffb45e90aadf4ddfa1ab5222b67f )というのもあるようですが、こちら経由でMatにしてマスク処理をした場合でも失敗するでしょうか(すみません、OpenCV for Unityを持っていないのでテストしておりません...)?
