public MainWindow() { InitializeComponent(); var al = new List <PointFloat>(); var ar = new List <PointFloat>(); List <StereoPoints> allPts = new List <StereoPoints>(); PointFloat imgSize = null; foreach (var iii in images) { var left = CvInvoke.Imread($"{imageDir}\\Left_{iii}.jpg"); imgSize = new PointFloat(left.Width, left.Height); var right = CvInvoke.Imread($"{imageDir}\\Right_{iii}.jpg"); var corl = convertToPF(netCvLib.calib3d.Calib.findConers(left.ToImage <Gray, Byte>())); al.AddRange(corl); var corr = convertToPF(netCvLib.calib3d.Calib.findConers(right.ToImage <Gray, Byte>())); ar.AddRange(corr); allPts.Add(new StereoPoints { Left = corl, Right = corr }); File.WriteAllLines($"{imageDir}\\Left_{iii}.txt", cornerToString(corl)); File.WriteAllLines($"{imageDir}\\Right_{iii}.txt", cornerToString(corr)); var ff = com.veda.LinearAlg.Calib.CalcFundm((corl), (corr)); //Console.WriteLine(ff); } Console.WriteLine("F"); F = com.veda.LinearAlg.Calib.CalcFundm(al.ToArray(), ar.ToArray()); Console.WriteLine(F); calres = CalibRect.Rectify(allPts, imgSize); Console.WriteLine("Callres"); Console.WriteLine(calres.F); Console.WriteLine(calres.el.X.ToString("0.00") + " " + calres.el.Y.ToString("0.00")); Console.WriteLine(calres.LeftIntrinics); Console.WriteLine(calres.RightIntrinics); Console.WriteLine(calres.H1); Console.WriteLine(calres.H2); Console.WriteLine("E"); Console.WriteLine(calres.E); var rtl = calres.GetRT(calres.E); Console.WriteLine("RT from left"); Console.WriteLine(rtl.R); Console.WriteLine(rtl.T); who = 0; imgSelFunc(); for (int i = 0; i < cbs.Length; i++) { var cb = new CheckBox(); cb.Name = "chkEpl_" + i; cb.IsChecked = false; cb.Checked += Cb_Checked; cb.Unchecked += Cb_Checked; cbs[i] = cb; onChecks[i] = false; } foreach (var cb in cbs) { stkEpoles.Children.Add(cb); } }