0

シーン内の輪郭を検出し、検出されたすべてのオブジェクトにコライダーを追加しようとしています。検出されたオブジェクトの座標を取得するためにキャニー エッジ検出器を使用しました。

ここに私の出力画像があります

ゲームオブジェクトがその領域に出入りするのを防ぐために、各黒い線にコライダーを追加する必要がありますが、正確に行う方法がわかりません。findContours 関数は検出された輪郭のリストを返し、それぞれが点のベクトルとして保存されますが、それを使用してコライダーを生成するにはどうすればよいですか?

ご協力ありがとうございました。

アップデート

これが私のソースコードです(更新メソッド用)

 void Update ()
    {
        if (initDone && webCamTexture.isPlaying && webCamTexture.didUpdateThisFrame) {

            //convert webcamtexture to mat
            Utils.webCamTextureToMat (webCamTexture, rgbaMat, colors);
            //convert to grayscale
            Imgproc.cvtColor (rgbaMat, grayMat, Imgproc.COLOR_RGBA2GRAY);

            //Blurring
            Imgproc.GaussianBlur(rgbaMat,blurMat,new Size(7,7),0);
            Imgproc.Canny(blurMat, cannyMat, 50,100);
            Mat inverted = ~cannyMat;
            //convert back to webcam texture
            Utils.matToTexture2D(inverted, texture, colors);

            Mat hierarchy = new Mat();
            List<MatOfPoint> contours = new List<MatOfPoint>();
            Imgproc.findContours(inverted, contours, hierarchy, Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);


        }
    }
4

1 に答える 1