Пример #1
0
        public static async Task <int> Main(string[] args)
        {
            var path = Environment.GetEnvironmentVariable("PATH");

            Environment.SetEnvironmentVariable("PATH", @"C:\Program Files (x86)\IntelSWTools\openvino\deployment_tools\inference_engine\bin\intel64\Release;C:\Program Files (x86)\IntelSWTools\openvino\opencv\bin;" + path);
            WindowsLibraryLoader.Instance.AdditionalPaths.Add(@"C:\Users\nick\Source\Repos\OpenVinoOpenCvSharp\install\bin");
            if (args.Length != 4)
            {
                Console.WriteLine("Usage: PersonDetection <input format> <input camera> <model> <output>");
                return(-1);
            }

            try
            {
                FFmpegHelper.Register();

                var buildInfo = OpenCvSharp.Cv2.GetBuildInformation();
                Console.WriteLine($"Build info: {buildInfo}");

                var inputFormat = args[0];
                var inputCamera = args[1];
                var model       = args[2];
                var output      = args[3];

                var outputFolder = new DirectoryInfo(output);
                if (!outputFolder.Exists)
                {
                    outputFolder.Create();
                }

                var       dataTransfer = new DataTransfer <MatAndBuffer>();
                IDetector detector;
                if (model.EndsWith("bin", StringComparison.OrdinalIgnoreCase))
                {
                    detector = new InferenceEngineDetector(model);
                }
                else if (model.EndsWith("cfg", StringComparison.OrdinalIgnoreCase))
                {
                    detector = new TinyYoloV3Detector(model);
                }
                else if (model.EndsWith("caffemodel", StringComparison.OrdinalIgnoreCase))
                {
                    detector = new CaffeDnnFaceDetector(model);
                }
                else
                {
                    throw new ArgumentException($"Unknown model type: {model}");
                }
                ProcessStream(inputFormat, inputCamera, dataTransfer);

                var counter = 0;
                while (true)
                {
                    using var data = await dataTransfer.GetNext(default);
Пример #2
0
        public static async Task <int> Main(string[] args)
        {
            if (args.Length < 4)
            {
                Console.WriteLine("usage: StandaloneFaceDetection <input format> <input camera> <model> <output>");
                return(-1);
            }

            try
            {
                FFmpegHelper.Register();

                var buildInfo = OpenCvSharp.Cv2.GetBuildInformation();
                Console.WriteLine($"Build information: {buildInfo}");

                var inputFormat = args[0];
                var inputCamera = args[1];
                var model       = args[2];
                var output      = args[3];
                var target      = args.Length < 5 ? Net.Target.CPU : Enum.Parse <Net.Target>(args[4]);
                var backend     = args.Length < 6 ? Net.Backend.OPENCV : Enum.Parse <Net.Backend>(args[5]);

                var outputFolder = new DirectoryInfo(output);
                if (!outputFolder.Exists)
                {
                    outputFolder.Create();
                }

                var       dataTransfer = new DataTransfer <MatAndBuffer>();
                IDetector detector;
                if (model.EndsWith("bin", StringComparison.OrdinalIgnoreCase))
                {
                    detector = new InferenceEngineDetector(model, backend, target);
                }
                else if (model.EndsWith("cfg", StringComparison.OrdinalIgnoreCase))
                {
                    detector = new TinyYoloV3Detector(model);
                }
                else if (model.EndsWith("caffemodel", StringComparison.OrdinalIgnoreCase))
                {
                    detector = new CaffeDnnFaceDetector(model);
                }
                else
                {
                    throw new ArgumentException($"Unknown model type: {model}");
                }
                ProcessStream(inputFormat, inputCamera, dataTransfer);

                var counter = 0;
                while (true)
                {
                    using var data = await dataTransfer.GetNext(default);
Пример #3
0
        public static async Task <int> Main(string[] args)
        {
            WindowsLibraryLoader.Instance.AdditionalPaths.Add(@"C:\Users\nick\Source\Repos\OpenVinoOpenCvSharp\install\bin");

            if (args.Length != 4)
            {
                Console.WriteLine("Usage: PersonDetection <input format> <input camera> <model> <output>");
                return(-1);
            }

            try
            {
                FFmpegHelper.Register();
                //AssemblyLoadConfiguration.For<OpenCvSharp.Point>();

                var buildInfo = OpenCvSharp.Cv2.GetBuildInformation();
                Console.WriteLine($"Build info: {buildInfo}");

                var inputFormat = args[0];
                var inputCamera = args[1];
                var model       = args[2];
                var output      = args[3];

                var outputFolder = new DirectoryInfo(output);
                if (!outputFolder.Exists)
                {
                    outputFolder.Create();
                }

                var dataTransfer = new DataTransfer <MatAndBuffer>();
                var detector     = model.EndsWith(".pb", StringComparison.OrdinalIgnoreCase) ? (IDetector)(new TensorFlowDnnFaceDetector(model)) : (IDetector)(new CaffeDnnFaceDetector(model));
                ProcessStream(inputFormat, inputCamera, dataTransfer);

                var counter = 0;
                while (true)
                {
                    using var data = await dataTransfer.GetNext(default);