static void ParseCommandLineArgs(string[] args, out string cvtPathFilename, out string outPathFilename, out bool ignoreFileSignature) { // <filename> ... Commodore disk image filename with path ... fix position parameter (at first position) // [-i] ... ignore file signature // [-o <filename>] ... filename with path of output file ... option with one value (required) const string OPTION_OUTFILENAME = "-o"; const string IGNORE_FILE_SIGNATURE = "-i"; cvtPathFilename = ""; outPathFilename = ""; ignoreFileSignature = false; Dictionary <String, int[]> arguments = new Dictionary <string, int[]>(); CmdLineArgsParser.AddArgument(ref arguments, "first", true, true, true, 0); CmdLineArgsParser.AddArgument(ref arguments, IGNORE_FILE_SIGNATURE, false, false, false, 0); CmdLineArgsParser.AddArgument(ref arguments, OPTION_OUTFILENAME, false, true, true, 0); String firstArgValue; Dictionary <string, string> optionList = CmdLineArgsParser.Parse(args, arguments, out firstArgValue); cvtPathFilename = firstArgValue; if (optionList.ContainsKey(OPTION_OUTFILENAME)) { outPathFilename = optionList[OPTION_OUTFILENAME]; } if (optionList.ContainsKey(IGNORE_FILE_SIGNATURE)) { ignoreFileSignature = true; } }
static void Main(string[] args) { CmdLineParams cmdLineParams = new CmdLineParams(); CmdLineArgsParser.Parse(args, cmdLineParams); Console.WriteLine("Input path: {0}", cmdLineParams.InputPath); Console.WriteLine("Output path: {0}", cmdLineParams.OutputPath); Console.WriteLine("Max width: {0}", cmdLineParams.MaxWidth); Console.WriteLine("Max height: {0}", cmdLineParams.MaxHeight); Console.WriteLine("Force: {0}", cmdLineParams.ForceOverride); if (File.Exists(cmdLineParams.InputPath)) { string outputPath = cmdLineParams.OutputPath ?? CmdLineParams.GetOutputFileName(cmdLineParams.InputPath, cmdLineParams.OutputPath); ProcessFile(cmdLineParams.InputPath, outputPath, cmdLineParams.MaxWidth, cmdLineParams.MaxHeight, cmdLineParams.ForceOverride); } else if (Directory.Exists(cmdLineParams.InputPath)) { ProcessDirectory(cmdLineParams.InputPath, cmdLineParams.OutputPath, cmdLineParams.MaxWidth, cmdLineParams.MaxHeight, cmdLineParams.ForceOverride); } else { throw new InvalidOperationException("Path access denied: " + cmdLineParams.InputPath); } }
static void Main(string[] args) { CmdLineParams cmdLineParams = new CmdLineParams(); CmdLineArgsParser.Parse(args, cmdLineParams); Console.WriteLine("Input folder: {0}", cmdLineParams.InputFolder); Console.WriteLine("Output file : {0}", cmdLineParams.OutputFile); string[] inputImages = Directory.GetFiles(cmdLineParams.InputFolder).Where(f => IMAGE_EXTENSIONS.Contains(Path.GetExtension(f).ToLower())).ToArray(); LensParams lensParams = null; LensCorrection.Calibrate(inputImages, out lensParams); Console.WriteLine("Lens correction matrix (K):"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { Console.Write("{0:0000.000}; ", lensParams.K[i, j]); } Console.WriteLine(" "); } Console.WriteLine("Distorsion coefficients (D):"); for (int i = 0; i < 4; i++) { Console.Write("{0:0.000}; ", lensParams.D[i, 0]); } Console.WriteLine(" "); lensParams.SaveToJsonFile(cmdLineParams.OutputFile); }
public static void Main(string[] args) { var parsedArgs = CmdLineArgsParser.Parse(args); if (!args.Any() || string.IsNullOrEmpty(parsedArgs.FileName)) { UsageInformation.Print(); return; } //If silent mode is not specified if (!parsedArgs.SilentModeEnabled) { Console.WriteLine(Resources.ConfirmationLine, parsedArgs.FileName); var keyInfo = Console.ReadKey(); if (keyInfo.Key != ConsoleKey.Y && keyInfo.Key != ConsoleKey.Enter) { return; } } if (!FileDeleter.Delete(parsedArgs.FileName)) { var lastError = Marshal.GetLastWin32Error(); Console.WriteLine(); Console.WriteLine($"Error: {new Win32Exception(lastError).Message}"); } else { ProgressTracker.Instance.Stop(); } }
static void ParseCommandLineArgs(string[] args, out string cvtPathFilename) { // <filename> ... Commodore disk image filename with path ... fix position parameter (at first position) cvtPathFilename = ""; Dictionary <String, int[]> arguments = new Dictionary <string, int[]>(); CmdLineArgsParser.AddArgument(ref arguments, "first", true, true, true, 0); String firstArgValue; Dictionary <string, string> optionList = CmdLineArgsParser.Parse(args, arguments, out firstArgValue); cvtPathFilename = firstArgValue; }
public static void Main(string[] args) { ParsedCmdLineArgs parsedArgs; try { parsedArgs = CmdLineArgsParser.Parse(args); } catch (CmdLineArgsParser.InvalidCmdLineException e) { CmdLineArgsParser.PrintUsage(e); return; } try { // get the full path for confirmation string filename = FileDeleter.GetFullPath(parsedArgs.FileName); //If silent mode is not specified if (!parsedArgs.SilentModeEnabled) { Console.WriteLine(Resources.ConfirmationLine, filename); var keyInfo = Console.ReadKey(); if (keyInfo.Key != ConsoleKey.Y && keyInfo.Key != ConsoleKey.Enter) { return; } } FileDeleter.Delete(filename, parsedArgs.BypassAcl); } catch (Exception e) { Console.WriteLine(); if (parsedArgs.PrintStackTrace) { Console.WriteLine($"Error: {e.ToString()}"); } else { Console.WriteLine($"Error: {e.Message}"); } } finally { ProgressTracker.Instance.Stop(); } }
static void Main(string[] args) { CmdLineParams cmdLineParams = new CmdLineParams(); CmdLineArgsParser.Parse(args, cmdLineParams); LensParams lensParams = LensParams.ReadFromJson(cmdLineParams.LensParamsJsonPath); Console.WriteLine("Lens correction matrix (K):"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { Console.Write("{0:0000.000}; ", lensParams.K[i, j]); } Console.WriteLine(" "); } Console.WriteLine("Distorsion coefficients (D):"); for (int i = 0; i < 4; i++) { Console.Write("{0:0.000}; ", lensParams.D[i, 0]); } Console.WriteLine(" "); if (!Directory.Exists(cmdLineParams.OutputFolder)) { Console.WriteLine("Create output folder: {0}", cmdLineParams.OutputFolder); Directory.CreateDirectory(cmdLineParams.OutputFolder); } string[] inputImages = Directory.GetFiles(cmdLineParams.InputFolder).Where(f => IMAGE_EXTENSIONS.Contains(Path.GetExtension(f).ToLower())).ToArray(); foreach (string imgPath in inputImages /*.Take(1).ToArray()*/) { string fileName = Path.GetFileName(imgPath); Console.WriteLine("Image processing {0}...", fileName); Mat image = CvInvoke.Imread(imgPath); //CvInvoke.Imshow("before", image); //CvInvoke.WaitKey(0); Mat outputImg = LensCorrection.Correct(image, lensParams); //CvInvoke.Imshow("after", outputImg); //CvInvoke.WaitKey(0); outputImg.Save(Path.Combine(cmdLineParams.OutputFolder, fileName)); } }
static void ParseCommandLineArgs(string[] args, out string imagePathFilename, out int dirIndex, out string asciiCbmFilename, out string outPathFilename) { // <filename> ... Commodore disk image filename with path ... fix position parameter (at first position) // -i <index> | -f <fielename> ... Commodore DOS filename in ascii ... option with one value (-i or -f is required) // [-o <filename>] ... filename with path of output file ... option with one value (optional) const string OPTION_INDEX = "-i"; const string OPTION_FILENAME = "-f"; const string OPTION_OUTFILENAME = "-o"; imagePathFilename = ""; dirIndex = 0; asciiCbmFilename = ""; outPathFilename = ""; Dictionary <String, int[]> arguments = new Dictionary <string, int[]>(); CmdLineArgsParser.AddArgument(ref arguments, "first", true, true, true, 0); CmdLineArgsParser.AddArgument(ref arguments, OPTION_INDEX, false, false, true, 1); CmdLineArgsParser.AddArgument(ref arguments, OPTION_FILENAME, false, false, true, 1); CmdLineArgsParser.AddArgument(ref arguments, OPTION_OUTFILENAME, false, false, true, 0); String firstArgValue; Dictionary <string, string> optionList = CmdLineArgsParser.Parse(args, arguments, out firstArgValue); imagePathFilename = firstArgValue; if (optionList.ContainsKey(OPTION_INDEX)) { try { dirIndex = Int32.Parse(optionList[OPTION_INDEX]); } catch { throw new Exception(String.Format("The Option {0} requires a numeric value!", OPTION_INDEX)); } } if (optionList.ContainsKey(OPTION_FILENAME)) { asciiCbmFilename = optionList[OPTION_FILENAME]; } if (optionList.ContainsKey(OPTION_OUTFILENAME)) { outPathFilename = optionList[OPTION_OUTFILENAME]; } }