Пример #1
0
 /// <summary>
 /// The full constructor
 /// </summary>
 /// <param name="source">Name of the file to open or the text string to read the data from.
 /// Extension of the file (.xml or .yml/.yaml) determines its format
 /// (XML or YAML respectively). Also you can append .gz to work with
 /// compressed files, for example myHugeMatrix.xml.gz.
 /// If both FileStorage::WRITE and FileStorage::MEMORY flags are specified,
 /// source is used just to specify the output file format
 /// (e.g. mydata.xml, .yml etc.).</param>
 /// <param name="flags"></param>
 /// <param name="encoding">Encoding of the file. Note that UTF-16 XML encoding is not supported
 /// currently and you should use 8-bit encoding instead of it.</param>
 public FileStorage(string source, FileStorageMode flags, string encoding = null)
 {
     if (source == null)
     {
         throw new ArgumentNullException(nameof(source));
     }
     ptr = NativeMethods.core_FileStorage_new2(source, (int)flags, encoding);
 }
Пример #2
0
        /// <summary>
        /// operator that performs PCA. The previously stored data, if any, is released
        /// </summary>
        /// <param name="fileName"></param>
        /// <param name="flags"></param>
        /// <param name="encoding">Encoding of the file. Note that UTF-16 XML encoding is not supported
        /// currently and you should use 8-bit encoding instead of it.</param>
        /// <returns></returns>
        public virtual bool Open(string fileName, FileStorageMode flags, string encoding = null)
        {
            if (disposed)
            {
                throw new ObjectDisposedException("FileStorage");
            }
            if (fileName == null)
            {
                throw new ArgumentNullException(nameof(fileName));
            }
            int ret = NativeMethods.core_FileStorage_open(ptr, fileName, (int)flags, encoding);

            return(ret != 0);
        }
Пример #3
0
        /// <summary>
        /// データの読み書きのためのファイルを開く.
        /// 書き込みの場合は,新しいファイルが作成されるか,ファイルが存在する場合には上書きされる.
        /// また,読み書きされるファイルの種類は拡張子で判別される. XMLの場合は.xml,YAMLの場合は.ymlまたは.yamlである.
        /// </summary>
        /// <param name="filename">ストレージに関連づけられたファイルの名前</param>
        /// <param name="memstorage">一時的なデータや,CvSeqや CvGraphなどの動的構造体の保存に使われるメモリストレージ.nullの場合,一時的なメモリが確保されて使用される.</param>
        /// <param name="flags">ファイルを開く方法または作成する方法</param>
        /// <param name="encoding"></param>
#else
        /// <summary>
        /// Opens file storage for reading or writing data
        /// </summary>
        /// <param name="filename">Name of the file associated with the storage. </param>
        /// <param name="memstorage">Memory storage used for temporary data and for storing dynamic structures, such as CvSeq or CvGraph. If it is null, a temporary memory storage is created and used. </param>
        /// <param name="flags"></param>
        /// <param name="encoding"></param>
#endif
        public CvFileStorage(string filename, CvMemStorage memstorage, FileStorageMode flags, string encoding)
        {
            if (string.IsNullOrEmpty(filename))
            {
                throw new ArgumentNullException("filename");
            }

            IntPtr memstoragePtr = (memstorage == null) ? IntPtr.Zero : memstorage.CvPtr;

            ptr = NativeMethods.cvOpenFileStorage(filename, memstoragePtr, flags, encoding);
            if (ptr == IntPtr.Zero)
            {
                throw new OpenCvSharpException("Failed to create CvFileStorage");
            }
        }
Пример #4
0
        /// <summary>
        /// データの読み書きのためのファイルを開く.
        /// 書き込みの場合は,新しいファイルが作成されるか,ファイルが存在する場合には上書きされる.
        /// また,読み書きされるファイルの種類は拡張子で判別される. XMLの場合は.xml,YAMLの場合は.ymlまたは.yamlである.
        /// </summary>
        /// <param name="filename">ストレージに関連づけられたファイルの名前</param>
        /// <param name="memstorage">一時的なデータや,CvSeqや CvGraphなどの動的構造体の保存に使われるメモリストレージ.nullの場合,一時的なメモリが確保されて使用される.</param>
        /// <param name="flags">ファイルを開く方法または作成する方法</param>
#else
        /// <summary>
        /// Opens file storage for reading or writing data
        /// </summary>
        /// <param name="filename">Name of the file associated with the storage. </param>
        /// <param name="memstorage">Memory storage used for temporary data and for storing dynamic structures, such as CvSeq or CvGraph. If it is null, a temporary memory storage is created and used. </param>
        /// <param name="flags"></param>
#endif
        public CvFileStorage(string filename, CvMemStorage memstorage, FileStorageMode flags)
            : this(filename, memstorage, flags, null)
        {
        }
Пример #5
0
 /// <summary>
 /// The full constructor
 /// </summary>
 /// <param name="source">Name of the file to open or the text string to read the data from. 
 /// Extension of the file (.xml or .yml/.yaml) determines its format 
 /// (XML or YAML respectively). Also you can append .gz to work with 
 /// compressed files, for example myHugeMatrix.xml.gz. 
 /// If both FileStorage::WRITE and FileStorage::MEMORY flags are specified, 
 /// source is used just to specify the output file format 
 /// (e.g. mydata.xml, .yml etc.).</param>
 /// <param name="flags"></param>
 /// <param name="encoding">Encoding of the file. Note that UTF-16 XML encoding is not supported 
 /// currently and you should use 8-bit encoding instead of it.</param>
 public FileStorage(string source, FileStorageMode flags, string encoding = null)
 {
     if (source == null)
         throw new ArgumentNullException("source");
     ptr = NativeMethods.core_FileStorage_new2(source, (int)flags, encoding);
 }
Пример #6
0
 /// <summary>
 /// operator that performs PCA. The previously stored data, if any, is released
 /// </summary>
 /// <param name="fileName"></param>
 /// <param name="flags"></param>
 /// <param name="encoding">Encoding of the file. Note that UTF-16 XML encoding is not supported 
 /// currently and you should use 8-bit encoding instead of it.</param>
 /// <returns></returns>
 public virtual bool Open(string fileName, FileStorageMode flags, string encoding = null)
 {
     if (disposed)
         throw new ObjectDisposedException("FileStorage");
     if (fileName == null)
         throw new ArgumentNullException("fileName");
     int ret = NativeMethods.core_FileStorage_open(ptr, fileName, (int)flags, encoding);
     return ret != 0;
 }
Пример #7
0
        /// <summary>
        /// データの読み書きのためのファイルを開く.
        /// 書き込みの場合は,新しいファイルが作成されるか,ファイルが存在する場合には上書きされる.
        /// また,読み書きされるファイルの種類は拡張子で判別される. XMLの場合は.xml,YAMLの場合は.ymlまたは.yamlである.
        /// </summary>
        /// <param name="filename">ストレージに関連づけられたファイルの名前</param>
        /// <param name="memstorage">一時的なデータや,CvSeqや CvGraphなどの動的構造体の保存に使われるメモリストレージ.nullの場合,一時的なメモリが確保されて使用される.</param>
        /// <param name="flags">ファイルを開く方法または作成する方法</param>
        /// <param name="encoding"></param>
        /// <returns>開いたファイルと関連付けられたCvFileStorageクラスへの参照</returns>
#else
        /// <summary>
        /// Opens file storage for reading or writing data
        /// </summary>
        /// <param name="filename">Name of the file associated with the storage. </param>
        /// <param name="memstorage">Memory storage used for temporary data and for storing dynamic structures, such as CvSeq or CvGraph. If it is null, a temporary memory storage is created and used. </param>
        /// <param name="flags"></param>
        /// <param name="encoding"></param>
        /// <returns>pointer to CvFileStorage structure.</returns>
#endif
        public static CvFileStorage OpenFileStorage(string filename, CvMemStorage memstorage, FileStorageMode flags, string encoding)
        {
            return new CvFileStorage(filename, memstorage, flags, encoding);
        }
Пример #8
0
        /// <summary>
        /// データの読み書きのためのファイルを開く.
        /// 書き込みの場合は,新しいファイルが作成されるか,ファイルが存在する場合には上書きされる.
        /// また,読み書きされるファイルの種類は拡張子で判別される. XMLの場合は.xml,YAMLの場合は.ymlまたは.yamlである.
        /// </summary>
        /// <param name="filename">ストレージに関連づけられたファイルの名前</param>
        /// <param name="memstorage">一時的なデータや,CvSeqや CvGraphなどの動的構造体の保存に使われるメモリストレージ.nullの場合,一時的なメモリが確保されて使用される.</param>
        /// <param name="flags">ファイルを開く方法または作成する方法</param>
        /// <param name="encoding"></param>
        /// <returns>開いたファイルと関連付けられたCvFileStorageクラスへの参照</returns>
#else
        /// <summary>
        /// Opens file storage for reading or writing data
        /// </summary>
        /// <param name="filename">Name of the file associated with the storage. </param>
        /// <param name="memstorage">Memory storage used for temporary data and for storing dynamic structures, such as CvSeq or CvGraph. If it is null, a temporary memory storage is created and used. </param>
        /// <param name="flags"></param>
        /// <param name="encoding"></param>
        /// <returns>pointer to CvFileStorage structure.</returns>
#endif
        public static CvFileStorage OpenFileStorage(string filename, CvMemStorage memstorage, FileStorageMode flags, string encoding)
        {
            return(new CvFileStorage(filename, memstorage, flags, encoding));
        }
Пример #9
0
        /// <summary>
        /// データの読み書きのためのファイルを開く.
        /// 書き込みの場合は,新しいファイルが作成されるか,ファイルが存在する場合には上書きされる.
        /// また,読み書きされるファイルの種類は拡張子で判別される. XMLの場合は.xml,YAMLの場合は.ymlまたは.yamlである.
        /// </summary>
        /// <param name="filename">ストレージに関連づけられたファイルの名前</param>
        /// <param name="memstorage">一時的なデータや,CvSeqや CvGraphなどの動的構造体の保存に使われるメモリストレージ.nullの場合,一時的なメモリが確保されて使用される.</param>
        /// <param name="flags">ファイルを開く方法または作成する方法</param>
        /// <returns>開いたファイルと関連付けられたCvFileStorageクラスへの参照</returns>
#else
        /// <summary>
        /// Opens file storage for reading or writing data
        /// </summary>
        /// <param name="filename">Name of the file associated with the storage. </param>
        /// <param name="memstorage">Memory storage used for temporary data and for storing dynamic structures, such as CvSeq or CvGraph. If it is null, a temporary memory storage is created and used. </param>
        /// <param name="flags"></param>
        /// <returns>pointer to CvFileStorage structure.</returns>
#endif
        public static CvFileStorage OpenFileStorage(string filename, CvMemStorage memstorage, FileStorageMode flags)
        {
            return new CvFileStorage(filename, memstorage, flags);
        }