public void ShowGraphFilterResult(int imgID) { long msec = DateTimeOffset.Now.ToUnixTimeMilliseconds(); List <DataSrc> dataSrcs = graphFilter.GetOuts(); long msec2 = DateTimeOffset.Now.ToUnixTimeMilliseconds(); ProgressBarInfo = "Time:" + (msec2 - msec) + " (ms)"; if (dataSrcs.Count == 0) { Console.WriteLine("Filter error"); return; } imgID = imgID % dataSrcs.Count; var bitmap = OpenCVHelper.GetRGBBitmapFromCvMat(dataSrcs[imgID].Image); if (bitmap == null) { Console.WriteLine("read error"); return; } SetImageSource(bitmap, dataSrcs[imgID].Info); }
public void ExportGraphFilterResult(int nId, string fileName, ExportSettings exportSettings) { BaseFilter mainFileFilter = graphFilter.FindFirtsFilter(FilterType.File); if (mainFileFilter != null) { mainFileFilter["Path"] = new FilterBuilder.Filter.FileInfo(fileName); List <DataSrc> dataSrcs = graphFilter.GetOuts(); if (dataSrcs.Count == 0) { // todo return; } for (int nSrcId = 0; nSrcId < dataSrcs.Count; nSrcId++) { string filename = exportSettings.GetFileName(dataSrcs[nSrcId].Info); if (filename == null) { filename = nSrcId.ToString() + "." + exportSettings.Format; } string ToFolder = exportSettings.GetFolder(dataSrcs[nSrcId].Info); ToFolder += "\\" + nId + "\\"; filename = ToFolder + filename; try { if (!Directory.Exists(ToFolder)) { Directory.CreateDirectory(ToFolder); } ImageFormat useFormat = ImageFormat.Jpeg; switch (exportSettings.Format) { case "jpg": useFormat = ImageFormat.Jpeg; break; case "png": useFormat = ImageFormat.Png; break; case "bmp": useFormat = ImageFormat.Bmp; break; } Bitmap bitmap = OpenCVHelper.GetRGBBitmapFromCvMat(dataSrcs[nSrcId].Image); bitmap.Save(filename, useFormat); } catch { } } } }