arskrald/AR-3/Assets/OpenCVForUnity/org/opencv/imgcodecs/Imgcodecs.cs

299 lines
11 KiB
C#
Raw Normal View History

2019-03-04 17:07:53 +00:00

using OpenCVForUnity.CoreModule;
using OpenCVForUnity.UtilsModule;
using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
namespace OpenCVForUnity.ImgcodecsModule
{
// C++: class Imgcodecs
//javadoc: Imgcodecs
public class Imgcodecs
{
// C++: enum ImwritePAMFlags
public const int IMWRITE_PAM_FORMAT_NULL = 0;
public const int IMWRITE_PAM_FORMAT_BLACKANDWHITE = 1;
public const int IMWRITE_PAM_FORMAT_GRAYSCALE = 2;
public const int IMWRITE_PAM_FORMAT_GRAYSCALE_ALPHA = 3;
public const int IMWRITE_PAM_FORMAT_RGB = 4;
public const int IMWRITE_PAM_FORMAT_RGB_ALPHA = 5;
// C++: enum ImwritePNGFlags
public const int IMWRITE_PNG_STRATEGY_DEFAULT = 0;
public const int IMWRITE_PNG_STRATEGY_FILTERED = 1;
public const int IMWRITE_PNG_STRATEGY_HUFFMAN_ONLY = 2;
public const int IMWRITE_PNG_STRATEGY_RLE = 3;
public const int IMWRITE_PNG_STRATEGY_FIXED = 4;
// C++: enum ImwriteFlags
public const int IMWRITE_JPEG_QUALITY = 1;
public const int IMWRITE_JPEG_PROGRESSIVE = 2;
public const int IMWRITE_JPEG_OPTIMIZE = 3;
public const int IMWRITE_JPEG_RST_INTERVAL = 4;
public const int IMWRITE_JPEG_LUMA_QUALITY = 5;
public const int IMWRITE_JPEG_CHROMA_QUALITY = 6;
public const int IMWRITE_PNG_COMPRESSION = 16;
public const int IMWRITE_PNG_STRATEGY = 17;
public const int IMWRITE_PNG_BILEVEL = 18;
public const int IMWRITE_PXM_BINARY = 32;
public const int IMWRITE_EXR_TYPE = (3 << 4) + 0;
public const int IMWRITE_WEBP_QUALITY = 64;
public const int IMWRITE_PAM_TUPLETYPE = 128;
public const int IMWRITE_TIFF_RESUNIT = 256;
public const int IMWRITE_TIFF_XDPI = 257;
public const int IMWRITE_TIFF_YDPI = 258;
// C++: enum ImwriteEXRTypeFlags
public const int IMWRITE_EXR_TYPE_HALF = 1;
public const int IMWRITE_EXR_TYPE_FLOAT = 2;
// C++: enum ImreadModes
public const int IMREAD_UNCHANGED = -1;
public const int IMREAD_GRAYSCALE = 0;
public const int IMREAD_COLOR = 1;
public const int IMREAD_ANYDEPTH = 2;
public const int IMREAD_ANYCOLOR = 4;
public const int IMREAD_LOAD_GDAL = 8;
public const int IMREAD_REDUCED_GRAYSCALE_2 = 16;
public const int IMREAD_REDUCED_COLOR_2 = 17;
public const int IMREAD_REDUCED_GRAYSCALE_4 = 32;
public const int IMREAD_REDUCED_COLOR_4 = 33;
public const int IMREAD_REDUCED_GRAYSCALE_8 = 64;
public const int IMREAD_REDUCED_COLOR_8 = 65;
public const int IMREAD_IGNORE_ORIENTATION = 128;
//
// C++: Mat cv::imdecode(Mat buf, int flags)
//
//javadoc: imdecode(buf, flags)
public static Mat imdecode (Mat buf, int flags)
{
if (buf != null) buf.ThrowIfDisposed ();
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat retVal = new Mat(imgcodecs_Imgcodecs_imdecode_10(buf.nativeObj, flags));
return retVal;
#else
return null;
#endif
}
//
// C++: Mat cv::imread(String filename, int flags = IMREAD_COLOR)
//
//javadoc: imread(filename, flags)
public static Mat imread (string filename, int flags)
{
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat retVal = new Mat(imgcodecs_Imgcodecs_imread_10(filename, flags));
return retVal;
#else
return null;
#endif
}
//javadoc: imread(filename)
public static Mat imread (string filename)
{
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat retVal = new Mat(imgcodecs_Imgcodecs_imread_11(filename));
return retVal;
#else
return null;
#endif
}
//
// C++: bool cv::haveImageReader(String filename)
//
//javadoc: haveImageReader(filename)
public static bool haveImageReader (string filename)
{
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
bool retVal = imgcodecs_Imgcodecs_haveImageReader_10(filename);
return retVal;
#else
return false;
#endif
}
//
// C++: bool cv::haveImageWriter(String filename)
//
//javadoc: haveImageWriter(filename)
public static bool haveImageWriter (string filename)
{
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
bool retVal = imgcodecs_Imgcodecs_haveImageWriter_10(filename);
return retVal;
#else
return false;
#endif
}
//
// C++: bool cv::imencode(String ext, Mat img, vector_uchar& buf, vector_int _params = std::vector<int>())
//
//javadoc: imencode(ext, img, buf, _params)
public static bool imencode (string ext, Mat img, MatOfByte buf, MatOfInt _params)
{
if (img != null) img.ThrowIfDisposed ();
if (buf != null) buf.ThrowIfDisposed ();
if (_params != null) _params.ThrowIfDisposed ();
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat buf_mat = buf;
Mat _params_mat = _params;
bool retVal = imgcodecs_Imgcodecs_imencode_10(ext, img.nativeObj, buf_mat.nativeObj, _params_mat.nativeObj);
return retVal;
#else
return false;
#endif
}
//javadoc: imencode(ext, img, buf)
public static bool imencode (string ext, Mat img, MatOfByte buf)
{
if (img != null) img.ThrowIfDisposed ();
if (buf != null) buf.ThrowIfDisposed ();
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat buf_mat = buf;
bool retVal = imgcodecs_Imgcodecs_imencode_11(ext, img.nativeObj, buf_mat.nativeObj);
return retVal;
#else
return false;
#endif
}
//
// C++: bool cv::imreadmulti(String filename, vector_Mat& mats, int flags = IMREAD_ANYCOLOR)
//
//javadoc: imreadmulti(filename, mats, flags)
public static bool imreadmulti (string filename, List<Mat> mats, int flags)
{
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat mats_mat = new Mat();
bool retVal = imgcodecs_Imgcodecs_imreadmulti_10(filename, mats_mat.nativeObj, flags);
Converters.Mat_to_vector_Mat(mats_mat, mats);
mats_mat.release();
return retVal;
#else
return false;
#endif
}
//javadoc: imreadmulti(filename, mats)
public static bool imreadmulti (string filename, List<Mat> mats)
{
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat mats_mat = new Mat();
bool retVal = imgcodecs_Imgcodecs_imreadmulti_11(filename, mats_mat.nativeObj);
Converters.Mat_to_vector_Mat(mats_mat, mats);
mats_mat.release();
return retVal;
#else
return false;
#endif
}
//
// C++: bool cv::imwrite(String filename, Mat img, vector_int _params = std::vector<int>())
//
//javadoc: imwrite(filename, img, _params)
public static bool imwrite (string filename, Mat img, MatOfInt _params)
{
if (img != null) img.ThrowIfDisposed ();
if (_params != null) _params.ThrowIfDisposed ();
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
Mat _params_mat = _params;
bool retVal = imgcodecs_Imgcodecs_imwrite_10(filename, img.nativeObj, _params_mat.nativeObj);
return retVal;
#else
return false;
#endif
}
//javadoc: imwrite(filename, img)
public static bool imwrite (string filename, Mat img)
{
if (img != null) img.ThrowIfDisposed ();
#if ((UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR) || UNITY_5 || UNITY_5_3_OR_NEWER
bool retVal = imgcodecs_Imgcodecs_imwrite_11(filename, img.nativeObj);
return retVal;
#else
return false;
#endif
}
#if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
const string LIBNAME = "__Internal";
#else
const string LIBNAME = "opencvforunity";
#endif
// C++: Mat cv::imdecode(Mat buf, int flags)
[DllImport (LIBNAME)]
private static extern IntPtr imgcodecs_Imgcodecs_imdecode_10 (IntPtr buf_nativeObj, int flags);
// C++: Mat cv::imread(String filename, int flags = IMREAD_COLOR)
[DllImport (LIBNAME)]
private static extern IntPtr imgcodecs_Imgcodecs_imread_10 (string filename, int flags);
[DllImport (LIBNAME)]
private static extern IntPtr imgcodecs_Imgcodecs_imread_11 (string filename);
// C++: bool cv::haveImageReader(String filename)
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_haveImageReader_10 (string filename);
// C++: bool cv::haveImageWriter(String filename)
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_haveImageWriter_10 (string filename);
// C++: bool cv::imencode(String ext, Mat img, vector_uchar& buf, vector_int _params = std::vector<int>())
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_imencode_10 (string ext, IntPtr img_nativeObj, IntPtr buf_mat_nativeObj, IntPtr _params_mat_nativeObj);
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_imencode_11 (string ext, IntPtr img_nativeObj, IntPtr buf_mat_nativeObj);
// C++: bool cv::imreadmulti(String filename, vector_Mat& mats, int flags = IMREAD_ANYCOLOR)
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_imreadmulti_10 (string filename, IntPtr mats_mat_nativeObj, int flags);
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_imreadmulti_11 (string filename, IntPtr mats_mat_nativeObj);
// C++: bool cv::imwrite(String filename, Mat img, vector_int _params = std::vector<int>())
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_imwrite_10 (string filename, IntPtr img_nativeObj, IntPtr _params_mat_nativeObj);
[DllImport (LIBNAME)]
private static extern bool imgcodecs_Imgcodecs_imwrite_11 (string filename, IntPtr img_nativeObj);
}
}