3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenCV For Unity VideoWriter.write() 出来ない 【解決済み】

Last updated at Posted at 2020-02-28

今朝(https://qiita.com/wirsind55/items/98328600991fcf6218ce)の続編である。

やりたいことはUnity上でCameraの動画キャプチャを取ってavi保存すること。

有料のもの(OpenCV for Unity)使えばいけんじゃないかとたかを括っていたが、いけない。。

コードは最小限にしてみて下記のとおり。

ScreenCapture.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using OpenCVForUnity;
using OpenCVForUnity.VideoioModule;
using OpenCVForUnity.VideoModule;
using OpenCVForUnity.CoreModule;

public class ScreenCapture : MonoBehaviour
{
    public Camera _targetCamera;

    private VideoWriter _videoWriter;
    private int cnt = 0;
    
    // Start is called before the first frame update
    void Start()
    {
        _videoWriter = new VideoWriter(@"output.avi",  VideoWriter.fourcc('D', 'I', 'V', 'X'), 30.0, new Size(448, 448), true);
    }

    // Update is called once per frame
    void Update()
    {
        CaptchaScreen();
        cnt.ToString() + ".png");
        cnt++;
        if(cnt >= 500)
            _videoWriter.Dispose();
    }

    public void CaptchaScreen()
    {

        Mat srcMat = new Mat (new Size(448, 448), CvType.CV_8UC4);

        _videoWriter.write(srcMat);
    }
}

結果として、new VideoWriterでoutput.aviは作成されているけど、
その後のwriteが効いておらず作成されたaviファイルのファイルサイズは0のままで破損状態という扱いになる。

それまでに何か間違っているのでしょうか。。。
いかんせんUnity、OpenCVの記事はそこまで多くないし分からない。
誰か教えて下さい。

だいぶハマってしまったので、この方法は一旦あきらめ、別の手段に移ります(画像を大量生産して、その後でOpenCVで画像を動画にする)。

以上、しゅん。

⇒ コメント欄にて解決されました:sob:

3
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?