Ejemplo n.º 1
0
        /// <summary>
        /// Converts Unity Texture2D to OpenCV Mat
        /// </summary>
        /// <returns>New mat</returns>
        /// <param name="texture">Unity texture</param>
        /// <param name="parameters">Conversion parameters</param>
        public static Mat TextureToMat(Texture2D texture, TextureConversionParams parameters = null)
        {
            if (null == parameters)
            {
                parameters = TextureConversionParams.Default;
            }

            Color32[] pixels32 = texture.GetPixels32();
            return(PixelsToMat(pixels32, texture.width, texture.height, parameters.FlipVertically, parameters.FlipHorizontally, parameters.RotationAngle));
        }
    /// <summary>
    /// Converts Unity Texture2D to OpenCV Mat
    /// </summary>
    /// <returns>New mat</returns>
    /// <param name="texture">Unity texture</param>
    /// <param name="parameters">Conversion parameters</param>
    public static Mat TextureToMat(WebCamTexture texture, TextureConversionParams parameters = null)
    {
        if (null == parameters)
        {
            parameters = TextureConversionParams.Default;
        }

        Array.Resize(ref pixels2, texture.width * texture.height);

        pixels2 = texture.GetPixels32(pixels2);
        return(PixelsToMat(pixels2, texture.width, texture.height, parameters.FlipVertically, parameters.FlipHorizontally, parameters.RotationAngle));
    }
    /// <summary>
    /// Converts Unity Texture2D to OpenCV Mat
    /// </summary>
    /// <returns>New mat</returns>
    /// <param name="texture">Unity texture</param>
    /// <param name="parameters">Conversion parameters</param>
    public static Mat TextureToMat(Texture2D texture, TextureConversionParams parameters = null)
    {
        if (null == parameters)
        {
            parameters = TextureConversionParams.Default;
        }

        // Array.Resize(ref pixels,texture.GetRawTextureData<Color32>().Length);
        //texture.GetRawTextureData<Color32>().CopyTo(pixels);

        Array.Resize(ref pixels, texture.width * texture.height);
        pixels = texture.GetPixels32();
        return(PixelsToMat(pixels, texture.width, texture.height, parameters.FlipVertically, parameters.FlipHorizontally, parameters.RotationAngle));
    }