public StylizeGraph(Status status = null) { _status = status; _downloadManager = new FileDownloadManager(); _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; _downloadManager.OnDownloadCompleted += onDownloadCompleted; }
public Inception(Status status = null) { _status = status; _downloadManager = new FileDownloadManager(); _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; _downloadManager.OnDownloadCompleted += onDownloadCompleted; }
/// <summary> /// Create a new inception object /// </summary> /// <param name="status">The status object that can be used to keep track of error or exceptions</param> /// <param name="sessionOptions">The options for running the tensorflow session.</param> public Resnet(Status status = null, SessionOptions sessionOptions = null) { _status = status; _sessionOptions = sessionOptions; _downloadManager = new FileDownloadManager(); _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; }
public void CleanUp() { if (null != mDownLoadMgr) { mDownLoadMgr.Destroy(); mDownLoadMgr = null; } }
public MultiboxGraph(Status status = null, SessionOptions sessionOptions = null) { _status = status; _sessionOptions = sessionOptions; _downloadManager = new FileDownloadManager(); _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; _downloadManager.OnDownloadCompleted += onDownloadCompleted; }
public MaskRcnnInceptionV2Coco(Status status = null, SessionOptions sessionOptions = null) { _status = status; _sessionOptions = sessionOptions; _downloadManager = new FileDownloadManager(); _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; _downloadManager.OnDownloadCompleted += onDownloadCompleted; }
private async Task InitOCR(Dnn.Backend preferredBackend, Dnn.Target preferredTarget, System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { if (_ocr == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2021.2/models_bin/3/license-plate-recognition-barrier-0001/FP32/license-plate-recognition-barrier-0001.xml", _modelFolderName, "B5B649B9566F5CF352554ACFFD44207F4AECEE1DA767F4B69F46060A102623FA"); manager.AddFile( "https://storage.openvinotoolkit.org/repositories/open_model_zoo/2021.2/models_bin/3/license-plate-recognition-barrier-0001/FP32/license-plate-recognition-barrier-0001.bin", _modelFolderName, "685934518A930CC55D023A53AC2D5E47BBE81B80828354D8318DE6DC3AD5CFBA"); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif _ocr = DnnInvoke.ReadNetFromModelOptimizer(manager.Files[0].LocalFile, manager.Files[1].LocalFile); using (Mat seqInd = new Mat( new Size(1, 88), DepthType.Cv32F, 1)) { if (seqInd.Depth == DepthType.Cv32F) { float[] seqIndValues = new float[seqInd.Width * seqInd.Height]; for (int j = 1; j < seqIndValues.Length; j++) { seqIndValues[j] = 1.0f; } seqIndValues[0] = 0.0f; seqInd.SetTo(seqIndValues); } _ocr.SetInput(seqInd, "seq_ind"); } _ocr.SetPreferableBackend(preferredBackend); _ocr.SetPreferableTarget(preferredTarget); } }
public FaceDetectionPage() : base() { var button = this.GetButton(); button.Text = "Perform Face Detection"; button.Clicked += OnButtonClicked; OnImagesLoaded += async(sender, image) => { if (image == null || image[0] == null) { return; } SetMessage("Please wait..."); //SetImage(image[0]); SetImage(null); FileDownloadManager downloadManager = new FileDownloadManager(); String url = "https://github.com/opencv/opencv/raw/4.2.0/data/haarcascades/"; downloadManager.AddFile(url + "/haarcascade_frontalface_default.xml", "haarcascade"); downloadManager.AddFile(url + "/haarcascade_eye.xml", "haarcascade"); downloadManager.OnDownloadProgressChanged += DownloadManager_OnDownloadProgressChanged; await downloadManager.Download(); String faceFile = downloadManager.Files[0].LocalFile; String eyeFile = downloadManager.Files[1].LocalFile; long time; List <Rectangle> faces = new List <Rectangle>(); List <Rectangle> eyes = new List <Rectangle>(); using (UMat img = image[0].GetUMat(AccessType.ReadWrite)) DetectFace.Detect(img, faceFile, eyeFile, faces, eyes, out time); //Draw the faces in red foreach (Rectangle rect in faces) { CvInvoke.Rectangle(image[0], rect, new MCvScalar(0, 0, 255), 2); } //Draw the eyes in blue foreach (Rectangle rect in eyes) { CvInvoke.Rectangle(image[0], rect, new MCvScalar(255, 0, 0), 2); } String computeDevice = CvInvoke.UseOpenCL ? "OpenCL: " + Ocl.Device.Default.Name : "CPU"; SetMessage(String.Format("Detected with {1} in {0} milliseconds.", time, computeDevice)); SetImage(image[0]); }; }
/// <summary> /// Download and initialize the Mask Rcnn model /// </summary> /// <param name="onDownloadProgressChanged">Call back method during download</param> /// <returns>Asyn task</returns> public async Task Init( System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) { if (_maskRcnnDetector == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/emgucv/models/raw/master/mask_rcnn_inception_v2_coco_2018_01_28/frozen_inference_graph.pb", _modelFolderName, "AC9B51CDE227B24D20030042E6C1E29AF75668F509E51AA84ED686787CCCC309"); manager.AddFile( "https://github.com/opencv/opencv_extra/raw/4.1.0/testdata/dnn/mask_rcnn_inception_v2_coco_2018_01_28.pbtxt", _modelFolderName, "090923144D81B2E442093F965BE27ECCDA11CE5F781EAF1C7EC76932CE99641E"); manager.AddFile( "https://github.com/emgucv/models/raw/master/mask_rcnn_inception_v2_coco_2018_01_28/coco-labels-paper.txt", _modelFolderName, "8925173E1B0AABFAEFDA27DE2BB908233BB8FB6E7582323D72988E4BE15A5F0B"); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } await manager.Download(); if (manager.AllFilesDownloaded) { _maskRcnnDetector = Emgu.CV.Dnn.DnnInvoke.ReadNetFromTensorflow(manager.Files[0].LocalFile, manager.Files[1].LocalFile); _labels = File.ReadAllLines(manager.Files[2].LocalFile); //prefer cuda backend if available foreach (BackendTargetPair p in DnnInvoke.AvailableBackends) { if (p.Backend == Dnn.Backend.Cuda && p.Target == Target.Cuda) { _maskRcnnDetector.SetPreferableBackend(Dnn.Backend.Cuda); _maskRcnnDetector.SetPreferableTarget(Target.Cuda); break; } } _colors = new MCvScalar[_labels.Length]; Random r = new Random(12345); for (int i = 0; i < _colors.Length; i++) { _colors[i] = new MCvScalar(r.Next(256), r.Next(256), r.Next(256)); } } } }
public CategoryImporter( IRepository <Category> categoryRepository, ICategoryTemplateService categoryTemplateService, IMediaService mediaService, ILocalizedEntityService localizedEntityService, FileDownloadManager fileDownloadManager) { _categoryRepository = categoryRepository; _categoryTemplateService = categoryTemplateService; _mediaService = mediaService; _localizedEntityService = localizedEntityService; _fileDownloadManager = fileDownloadManager; }
public async Task Init( System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { if (_weChatQRCodeDetectionModel == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/detect.prototxt", _modelFolderName, "E8ACFC395CAF443A47F15686A9B9207B36CB8F7E6CEB8FBAF6466665E68A9466"); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/detect.caffemodel", _modelFolderName, "CC49B8C9BABAF45F3037610FE499DF38C8819EBDA29E90CA9F2E33270F6EF809"); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/sr.prototxt", _modelFolderName, "8AE41ACBA97E8B4A8E741EE350481E49B8E01D787193F470A4C95EE1C02D5B61"); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/sr.caffemodel", _modelFolderName, "E5D36889D8E6EF2F1C1F515F807CEC03979320AC81792CD8FB927C31FD658AE3"); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif if (manager.AllFilesDownloaded) { _weChatQRCodeDetectionModel = new WeChatQRCode( manager.Files[0].LocalFile, manager.Files[1].LocalFile, manager.Files[2].LocalFile, manager.Files[3].LocalFile ); } } }
private async Task InitTesseract(String lang, OcrEngineMode mode) { if (_ocr == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile(Emgu.CV.OCR.Tesseract.GetLangFileUrl(lang), _modelFolderName); manager.AddFile(Emgu.CV.OCR.Tesseract.GetLangFileUrl("osd"), _modelFolderName); //script orientation detection manager.OnDownloadProgressChanged += DownloadManager_OnDownloadProgressChanged; await manager.Download(); FileInfo fi = new FileInfo(manager.Files[0].LocalFile); _ocr = new Tesseract(fi.DirectoryName, lang, mode); } }
public CategoryImporter( IRepository <Category> categoryRepository, IRepository <MediaFile> pictureRepository, ICategoryTemplateService categoryTemplateService, IPictureService pictureService, ILocalizedEntityService localizedEntityService, FileDownloadManager fileDownloadManager) { _categoryRepository = categoryRepository; _pictureRepository = pictureRepository; _categoryTemplateService = categoryTemplateService; _pictureService = pictureService; _localizedEntityService = localizedEntityService; _fileDownloadManager = fileDownloadManager; }
public void BeginDownload(ServerFileInfo serverInfo) { mDownLoadMgr = new NewFileSystem.FileDownloadManager(); mDownLoadMgr.Init(); mDownLoadMgr.BeginSynchronize(serverInfo, delegate() { mPersistentFileListDic = new Dictionary <string, FileDetailInfo>(mDownLoadMgr.GetPersistentFileList()); Dictionary <string, FileDetailInfo> streamingFileListDic = mDownLoadMgr.GetStreamingFileList(); if (null != streamingFileListDic) { mStreamingFileListDic = new Dictionary <string, FileDetailInfo>(streamingFileListDic); } mDownLoadMgr.Destroy(); mDownLoadMgr = null; GameMain.Instance.EventMgr.PostObjectEvent(EventId.DownLoadFinish, null); }); }
public async Task Init(YoloVersion version = YoloVersion.YoloV3, System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) { if (_yoloDetector == null) { FileDownloadManager manager = new FileDownloadManager(); if (version == YoloVersion.YoloV3Spp) { manager.AddFile( "https://pjreddie.com/media/files/yolov3-spp.weights", _modelFolderName); manager.AddFile( "https://github.com/pjreddie/darknet/raw/master/cfg/yolov3-spp.cfg", _modelFolderName); } else if (version == YoloVersion.YoloV3) { manager.AddFile( "https://pjreddie.com/media/files/yolov3.weights", _modelFolderName); manager.AddFile( "https://github.com/pjreddie/darknet/raw/master/cfg/yolov3.cfg", _modelFolderName); } else if (version == YoloVersion.YoloV3Tiny) { manager.AddFile( "https://pjreddie.com/media/files/yolov3-tiny.weights", _modelFolderName); manager.AddFile( "https://github.com/pjreddie/darknet/raw/master/cfg/yolov3-tiny.cfg", _modelFolderName); } manager.AddFile("https://github.com/pjreddie/darknet/raw/master/data/coco.names", _modelFolderName); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } await manager.Download(); _yoloDetector = DnnInvoke.ReadNetFromDarknet(manager.Files[1].LocalFile, manager.Files[0].LocalFile); _labels = File.ReadAllLines(manager.Files[2].LocalFile); } }
/// <summary> /// Download and initialize the freetype object /// </summary> /// <param name="onDownloadProgressChanged">Callback when download progress has been changed</param> /// <returns>Async task</returns> public async Task Init(System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/emgucv/emgucv/raw/4.4.0/Emgu.CV.Test/NotoSansCJK-Regular.ttc", _modelFolderName, "E3C629CB9F416E2E57CFDFEE7573D5CAC3A06A681C105EC081AB9707C1F147E8"); manager.OnDownloadProgressChanged += onDownloadProgressChanged; await manager.Download(); if (manager.AllFilesDownloaded) { LoadFontData(manager.Files[0].LocalFile, 0); } }
public async Task Init(System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { if (_faceDetectionModel == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/opencv/opencv_3rdparty/raw/dnn_samples_face_detector_20170830/res10_300x300_ssd_iter_140000.caffemodel", _modelFolderName, "2A56A11A57A4A295956B0660B4A3D76BBDCA2206C4961CEA8EFE7D95C7CB2F2D"); manager.AddFile( "https://raw.githubusercontent.com/opencv/opencv/4.0.1/samples/dnn/face_detector/deploy.prototxt", _modelFolderName, "F62621CAC923D6F37BD669298C428BB7EE72233B5F8C3389BB893E35EBBCF795"); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif if (manager.AllFilesDownloaded) { _faceDetectionModel = new DetectionModel(manager.Files[0].LocalFile, manager.Files[1].LocalFile); _faceDetectionModel.SetInputMean(new MCvScalar(104, 177, 123)); _faceDetectionModel.SetInputSize(new Size(300, 300)); _faceDetectionModel.SetInputSwapRB(false); _faceDetectionModel.SetInputScale(1.0); _faceDetectionModel.SetInputCrop(false); #if !(UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL) if (Emgu.CV.Cuda.CudaInvoke.HasCuda) { _faceDetectionModel.SetPreferableBackend(Emgu.CV.Dnn.Backend.Cuda); _faceDetectionModel.SetPreferableTarget(Emgu.CV.Dnn.Target.Cuda); } #endif } } }
private async Task InitTextRecognizer(System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { if (_ocr == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/emgucv/models/raw/master/scene_text/crnn_cs_CN.onnx", _modelFolderName, "C760BF82D684B87DFABB288E6C0F92D41A8CD6C1780661CA2C3CD10C2065A9BA"); manager.AddFile( "https://github.com/emgucv/models/raw/master/scene_text/alphabet_3944.txt", _modelFolderName, "8027C9832D86764FECCD9BDD8974829C86994617E5787F178ED97DB2BDA1481A"); manager.OnDownloadProgressChanged += onDownloadProgressChanged; #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif if (manager.AllFilesDownloaded) { _ocr = new TextRecognitionModel(manager.Files[0].LocalFile); _ocr.DecodeType = "CTC-greedy"; String[] vocab = File.ReadAllLines(manager.Files[1].LocalFile); _ocr.Vocabulary = vocab; _ocr.SetInputScale(1.0 / 127.5); _ocr.SetInputMean(new MCvScalar(127.5, 127.5, 127.5)); _ocr.SetInputSize(new Size(100, 32)); /* * if (Emgu.CV.Cuda.CudaInvoke.HasCuda) * { * _vehicleAttrRecognizer.SetPreferableBackend(Emgu.CV.Dnn.Backend.Cuda); * _vehicleAttrRecognizer.SetPreferableTarget(Emgu.CV.Dnn.Target.Cuda); * }*/ } } }
/// <summary> /// Download and initialize the face and eye cascade classifier detection model /// </summary> /// <param name="onDownloadProgressChanged">Call back method during download</param> /// <returns>Asyn task</returns> public async Task Init(DownloadProgressChangedEventHandler onDownloadProgressChanged = null, Object initOptions = null) { if (_faceCascadeClassifier == null || _eyeCascadeClassifier == null) { FileDownloadManager downloadManager = new FileDownloadManager(); String url = "https://github.com/opencv/opencv/raw/4.2.0/data/haarcascades/"; downloadManager.AddFile(url + "/haarcascade_frontalface_default.xml", "haarcascade"); downloadManager.AddFile(url + "/haarcascade_eye.xml", "haarcascade"); downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; await downloadManager.Download(); String faceFile = downloadManager.Files[0].LocalFile; String eyeFile = downloadManager.Files[1].LocalFile; _faceCascadeClassifier = new CascadeClassifier(faceFile); _eyeCascadeClassifier = new CascadeClassifier(eyeFile); } }
private async Task InitDetector() { if (_faceCascadeClassifier == null && _eyeCascadeClassifier == null) { FileDownloadManager downloadManager = new FileDownloadManager(); String url = "https://github.com/opencv/opencv/raw/4.2.0/data/haarcascades/"; downloadManager.AddFile(url + "/haarcascade_frontalface_default.xml", "haarcascade"); downloadManager.AddFile(url + "/haarcascade_eye.xml", "haarcascade"); downloadManager.OnDownloadProgressChanged += DownloadManager_OnDownloadProgressChanged; await downloadManager.Download(); String faceFile = downloadManager.Files[0].LocalFile; String eyeFile = downloadManager.Files[1].LocalFile; _faceCascadeClassifier = new CascadeClassifier(faceFile); _eyeCascadeClassifier = new CascadeClassifier(eyeFile); } }
public async Task Init(System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) { if (_facemark == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile("https://raw.githubusercontent.com/kurnianggoro/GSOC2017/master/data/lbfmodel.yaml", "facemark"); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } await manager.Download(); using (FacemarkLBFParams facemarkParam = new CV.Face.FacemarkLBFParams()) { _facemark = new FacemarkLBF(facemarkParam); _facemark.LoadModel(manager.Files[0].LocalFile); } } }
private async Task InitFreetype() { if (_freetype2 == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/emgucv/emgucv/raw/4.4.0/Emgu.CV.Test/NotoSansCJK-Regular.ttc", "Freetype"); manager.OnDownloadProgressChanged += DownloadManager_OnDownloadProgressChanged; await manager.Download(); _freetype2 = new Freetype2(); _freetype2.LoadFontData(manager.Files[0].LocalFile, 0); } }
public MobilenetPage() : base() { var button = this.GetButton(); button.Text = "Perform Image Recognition"; button.Clicked += OnButtonClicked; OnImagesLoaded += (sender, image) => { SetMessage("Please wait..."); SetImage(); _image = image; #if !DEBUG try #endif { SetMessage("Please wait while the Mobilenet Model is being downloaded..."); _downloadManager = new FileDownloadManager(); String downloadUrl = "https://github.com/emgucv/models/raw/master/mobilenet_v1_1.0_224_float_2017_11_08/"; String[] fileNames = new string[] { "mobilenet_v1_1.0_224.tflite", "labels.txt" }; for (int i = 0; i < fileNames.Length; i++) { _downloadManager.AddFile(downloadUrl + fileNames[i]); } _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; _downloadManager.OnDownloadCompleted += onDownloadCompleted; _downloadManager.Download(); } #if !DEBUG catch (Exception e) { String msg = e.Message.Replace(System.Environment.NewLine, " "); SetMessage(msg); } #endif }; }
// Use this for initialization void Start() { _downloadManager = new FileDownloadManager(); String downloadUrl = "https://github.com/emgucv/models/raw/master/mobilenet_v1_1.0_224_float_2017_11_08/"; String[] fileNames = new string[] { "mobilenet_v1_1.0_224.tflite", "labels.txt" }; for (int i = 0; i < fileNames.Length; i++) { _downloadManager.AddFile(downloadUrl + fileNames[i]); } _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; _downloadManager.OnDownloadCompleted += onDownloadCompleted; _downloadManager.Download(); //bool loaded = TfInvoke.CheckLibraryLoaded(); //_inceptionGraph = new Inception(); _liveCameraView = false; /* * WebCamDevice[] devices = WebCamTexture.devices; * cameraCount = devices.Length; * * if (cameraCount == 0) * { * _liveCameraView = false; * } * else * { * _liveCameraView = true; * webcamTexture = new WebCamTexture(devices[0].name); * * baseRotation = transform.rotation; * webcamTexture.Play(); * //data = new Color32[webcamTexture.width * webcamTexture.height]; * }*/ //StartCoroutine(_inceptionGraph.Init()); }
public async Task Init(System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/emgucv/emgucv/raw/4.4.0/Emgu.CV.Test/NotoSansCJK-Regular.ttc", _modelFolderName, "E3C629CB9F416E2E57CFDFEE7573D5CAC3A06A681C105EC081AB9707C1F147E8"); manager.OnDownloadProgressChanged += onDownloadProgressChanged; #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif if (manager.AllFilesDownloaded) { LoadFontData(manager.Files[0].LocalFile, 0); } }
private async Task InitTextDetector(System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { if (_textDetector == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/emgucv/models/raw/master/scene_text/DB_TD500_resnet50.onnx", _modelFolderName, "7B83A5E7AFBBD9D70313C902D188FF328656510DBF57D66A711E07DFDB81DF20"); manager.OnDownloadProgressChanged += onDownloadProgressChanged; #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif if (manager.AllFilesDownloaded) { _textDetector = new TextDetectionModel_DB(manager.Files[0].LocalFile); _textDetector.BinaryThreshold = 0.3f; _textDetector.PolygonThreshold = 0.5f; _textDetector.MaxCandidates = 200; _textDetector.UnclipRatio = 2.0; _textDetector.SetInputScale(1.0 / 255.0); _textDetector.SetInputSize(new Size(736, 736)); _textDetector.SetInputMean(new MCvScalar(122.67891434, 116.66876762, 104.00698793)); /* * if (Emgu.CV.Cuda.CudaInvoke.HasCuda) * { * _vehicleAttrRecognizer.SetPreferableBackend(Emgu.CV.Dnn.Backend.Cuda); * _vehicleAttrRecognizer.SetPreferableTarget(Emgu.CV.Dnn.Target.Cuda); * }*/ } } }
public async Task Init( System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) #endif { if (_barcodeDetector == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/sr.prototxt", _modelFolderName, "8AE41ACBA97E8B4A8E741EE350481E49B8E01D787193F470A4C95EE1C02D5B61"); manager.AddFile( "https://github.com/WeChatCV/opencv_3rdparty/raw/wechat_qrcode/sr.caffemodel", _modelFolderName, "E5D36889D8E6EF2F1C1F515F807CEC03979320AC81792CD8FB927C31FD658AE3"); if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE || UNITY_WEBGL yield return(manager.Download()); #else await manager.Download(); #endif if (manager.AllFilesDownloaded) { _barcodeDetector = new BarcodeDetector( manager.Files[0].LocalFile, manager.Files[1].LocalFile ); } } }
public ProductImporter( IRepository <ProductPicture> productPictureRepository, IRepository <ProductManufacturer> productManufacturerRepository, IRepository <ProductCategory> productCategoryRepository, IRepository <UrlRecord> urlRecordRepository, IRepository <Product> productRepository, ICommonServices services, ILocalizedEntityService localizedEntityService, IPictureService pictureService, IManufacturerService manufacturerService, ICategoryService categoryService, IProductService productService, IUrlRecordService urlRecordService, IProductTemplateService productTemplateService, IStoreMappingService storeMappingService, FileDownloadManager fileDownloadManager, SeoSettings seoSettings, DataExchangeSettings dataExchangeSettings) { _productPictureRepository = productPictureRepository; _productManufacturerRepository = productManufacturerRepository; _productCategoryRepository = productCategoryRepository; _urlRecordRepository = urlRecordRepository; _productRepository = productRepository; _services = services; _localizedEntityService = localizedEntityService; _pictureService = pictureService; _manufacturerService = manufacturerService; _categoryService = categoryService; _productService = productService; _urlRecordService = urlRecordService; _productTemplateService = productTemplateService; _storeMappingService = storeMappingService; _fileDownloadManager = fileDownloadManager; _seoSettings = seoSettings; _dataExchangeSettings = dataExchangeSettings; }
public async Task Init(DownloadProgressChangedEventHandler onDownloadProgressChanged = null, Object initOptions = null) #endif { if (_faceCascadeClassifier == null || _eyeCascadeClassifier == null) { FileDownloadManager downloadManager = new FileDownloadManager(); String url = "https://github.com/opencv/opencv/raw/4.2.0/data/haarcascades/"; downloadManager.AddFile(url + "/haarcascade_frontalface_default.xml", "haarcascade"); downloadManager.AddFile(url + "/haarcascade_eye.xml", "haarcascade"); downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged; #if UNITY_EDITOR || UNITY_IOS || UNITY_ANDROID || UNITY_STANDALONE yield return(downloadManager.Download()); #else await downloadManager.Download(); #endif String faceFile = downloadManager.Files[0].LocalFile; String eyeFile = downloadManager.Files[1].LocalFile; _faceCascadeClassifier = new CascadeClassifier(faceFile); _eyeCascadeClassifier = new CascadeClassifier(eyeFile); } }
private async Task InitTesseract(String lang, OcrEngineMode mode, System.Net.DownloadProgressChangedEventHandler onDownloadProgressChanged = null) { if (_ocr == null) { FileDownloadManager manager = new FileDownloadManager(); manager.AddFile(Emgu.CV.OCR.Tesseract.GetLangFileUrl(lang), _modelFolderName); manager.AddFile(Emgu.CV.OCR.Tesseract.GetLangFileUrl("osd"), _modelFolderName); //script orientation detection if (onDownloadProgressChanged != null) { manager.OnDownloadProgressChanged += onDownloadProgressChanged; } await manager.Download(); if (manager.AllFilesDownloaded) { _lang = lang; _mode = mode; FileInfo fi = new FileInfo(manager.Files[0].LocalFile); _ocr = new Tesseract(fi.DirectoryName, _lang, _mode); } } }
public virtual void LoadHosts() { DownloadManager = new FileDownloadManager(StatusRepo, Config.Hosts, MultiThreadingSettings, SyncEvilGlobal.FileDownloader, SyncEvilGlobal.GetHostChecker); }