Example #1
0
        public StylizeGraph(Status status = null)
        {
            _status          = status;
            _downloadManager = new FileDownloadManager();

            _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged;
            _downloadManager.OnDownloadCompleted       += onDownloadCompleted;
        }
Example #2
0
        public Inception(Status status = null)
        {
            _status          = status;
            _downloadManager = new FileDownloadManager();

            _downloadManager.OnDownloadProgressChanged += onDownloadProgressChanged;
            _downloadManager.OnDownloadCompleted       += onDownloadCompleted;
        }
Example #3
0
        /// <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;
        }
Example #4
0
 public void CleanUp()
 {
     if (null != mDownLoadMgr)
     {
         mDownLoadMgr.Destroy();
         mDownLoadMgr = null;
     }
 }
Example #5
0
        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]);
            };
        }
Example #9
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;
 }
Example #11
0
        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
                        );
                }
            }
        }
Example #12
0
        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;
 }
Example #14
0
 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);
     });
 }
Example #15
0
        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);
            }
        }
Example #16
0
        /// <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);
            }
        }
Example #17
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
                }
            }
        }
Example #18
0
        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);
                     * }*/
                }
            }
        }
Example #19
0
        /// <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);
            }
        }
Example #20
0
        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);
            }
        }
Example #21
0
        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);
                }
            }
        }
Example #22
0
        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);
            }
        }
Example #23
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
            };
        }
Example #24
0
    // 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());
    }
Example #25
0
        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);
            }
        }
Example #26
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);
                     * }*/
                }
            }
        }
Example #27
0
        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
                        );
                }
            }
        }
Example #28
0
        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);
            }
        }
Example #30
0
        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);
                }
            }
        }
Example #31
0
 public virtual void LoadHosts() {
     DownloadManager = new FileDownloadManager(StatusRepo,
         Config.Hosts, MultiThreadingSettings,
         SyncEvilGlobal.FileDownloader, SyncEvilGlobal.GetHostChecker);
 }