public string Match(Bitmap face) { Matrix[] gray = new Matrix[1]; gray[0] = GrayScale2d(face); //gray[0] = gray[0] * (1.0 / 255.0); Matrix image = ConvertMatrix(gray); Matrix meanimg = image - _meanimage; Matrix reduced = meanimg.Transpose() * _EF; //NormalizeImage(reduced); distances = new List <distance>(); for (int row = 0; row < _reducedImages.Rows; row++) { double distance = 0; for (int col = 0; col < TopValues; col++) { distance += Math.Pow(reduced[0, col] - _reducedImages[row, col], 2); } distance dist = new distance(); dist.face = row; dist.Distance = distance; distances.Add(dist); } matchedname = _imagenames[distances.OrderBy(x => x.Distance).Select(x => x.face).First()]; return(matchedname); foreach (distance dist in distances.OrderByDescending(x => x.Distance).Take(10)) { Matrix a = _images.Submatrix(0, _images.Rows - 1, dist.face, dist.face); matchedimage = MatrixToBitMap(a); } }
public ActionResult DeleteConfirmed(int id) { distance distance = db.distances.Find(id); db.distances.Remove(distance); db.SaveChanges(); return(RedirectToAction("Index")); }
private void OnGUI() { if (GUILayout.Button("find nearest enemy")) { distance Min = Judgeneardis(); Min.GetComponent <MeshRenderer>().material.color = Color.red; } }
public ActionResult Edit([Bind(Include = "EFKey,Code,Name,Value")] distance distance) { if (ModelState.IsValid) { db.Entry(distance).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(distance)); }
public ActionResult Create([Bind(Include = "EFKey,Code,Name,Value")] distance distance) { if (ModelState.IsValid) { db.distances.Add(distance); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(distance)); }
private distance Judgeneardis() { distance[] Dis = Object.FindObjectsOfType <distance>(); distance NearDis = Dis[0]; for (int i = 1; i < Dis.Length; i++) { if (NearDis.Distance > Dis[i].Distance) { NearDis = Dis[i]; } } return(NearDis); }
// GET: racedistances/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } distance distance = db.distances.Find(id); if (distance == null) { return(HttpNotFound()); } return(View(distance)); }
public string FactoryDistance(ShippingDocument ship, LastestGpsInfo gps) { if (ship == null || gps == null) { return(null); } distanceByShip ds = this.service.GetGenericService <distanceByShip>().Query().Where(m => m.shipdocid == ship.ID).FirstOrDefault(); distance dt = this.service.GetGenericService <distance>().Query().Where(m => m.projectid == ship.ProjectID && m.CastMode.TreeCode == ship.CastMode).FirstOrDefault(); var factory = this.service.Company.GetCurrentCompany(); if (ds == null || dt == null || ds.outbuilding == 0m) { string str = GetFactoryDistance(gps, factory); return(str); } decimal d = dt.distance - (gps.Distance.Value - ds.outbuilding); return(d < 0 ? (0.01m).ToString() : d.ToString()); }
public List <distance> GetDistance(string sCity) { List <distance> lp = new List <distance>(); string sql = "select * from t_distance order by descNum desc,id asc"; using (DataTable dt = helper.GetDataTable(sql)) { if (dt != null && dt.Rows.Count > 0) { foreach (DataRow r in dt.Rows) { distance b = new distance { d = Convert.ToInt32(r["distance"]), cityType = Convert.ToInt16(r["cityType"]), //sCity = r["sCity"].ToString(), tCity = r["tCity"].ToString(), }; lp.Add(b); } } } return(lp); }
private void DistanceLev(distance func, TextBox text, ListBox searchlist, TextBox tlimit) { string index = ""; int min = text.Text.Length; int limit; if (tlimit.Text != "") { limit = Convert.ToInt32(tlimit.Text); } else { limit = min; } if (r1.IsChecked == true) { Stopwatch stopWatch = new Stopwatch(); TimeSpan ts; stopWatch.Start(); foreach (string s in list) { int distance = func(text.Text, s); if ((distance < min) && (distance <= limit)) { min = distance; index = s; } } stopWatch.Stop(); ts = stopWatch.Elapsed; dataitem t = new dataitem(); t.word = index; t.time = ts.TotalMilliseconds; bool flag = false; foreach (dataitem i in searchlist.Items) { if (i.word.ToUpper() == t.word.ToUpper()) { flag = true; } } if (index == "") { MessageBox.Show("Слово не найдено!"); } else if (!flag) { searchlist.Items.Add(t); } else { MessageBox.Show("Слово уже найдено!"); } text.Text = "Поиск по файлу"; } else { searchlist.Items.Clear(); Stopwatch stopWatch = new Stopwatch(); TimeSpan ts; stopWatch.Start(); foreach (string s in list) { int distance = func(text.Text, s); if (distance <= limit) { dataradiobtn i = new dataradiobtn(); i.word = s; i.dist = distance; searchlist.Items.Add(i); } } stopWatch.Stop(); ts = stopWatch.Elapsed; if (tlimit.Name == "DLevLimit") { timeserachdlev = ts.TotalMilliseconds; } else { timeserachlev = ts.TotalMilliseconds; } timelev.Content = ts.TotalMilliseconds + " мс"; } }
private void parallel_search(distance func, TextBox text, ListBox searchlist, TextBox tlimit, int task) { searchlist.Items.Clear(); int max = text.Text.Length; int limit; if (tlimit.Text != "") { limit = Convert.ToInt32(tlimit.Text); } else { limit = max; } //Результаты List <result> res = new List <result>(); List <List <string> > str = subarraylist.GetDivSubArr(list, task);//Convert.ToInt32(thread.Text) searchlist.Items.Clear(); Stopwatch stopWatch = new Stopwatch(); TimeSpan ts; stopWatch.Start(); if (r1.IsChecked == true) { Task <result>[] tasks = new Task <result> [str.Count]; for (int i = 0; i < str.Count; i++) { tasks[i] = new Task <result>( ArrayThreadTask, new dataparallel() { tempList = str[i], dist = limit, ThreadNum = i + 1, wordPattern = text.Text, func = func } ); //Запуск потока tasks[i].Start(); } Task.WaitAll(tasks); //Объединение результатов for (int i = 0; i < str.Count; i++) { if (tasks[i].Result.word != "") { searchlist.Items.Add(tasks[i].Result); } } } else { Task <List <result> >[] tasks = new Task <List <result> > [str.Count]; for (int i = 0; i < str.Count; i++) { tasks[i] = new Task <List <result> >( ArrayThreadTaskExample, new dataparallel() { tempList = str[i], dist = limit, ThreadNum = i + 1, wordPattern = text.Text, func = func } ); //Запуск потока tasks[i].Start(); } Task.WaitAll(tasks); //Объединение результатов for (int i = 0; i < str.Count; i++) { for (int j = 0; j < tasks[i].Result.Count; j++) { searchlist.Items.Add(tasks[i].Result[j]); } } } stopWatch.Stop(); ts = stopWatch.Elapsed; if (tlimit.Name == "DLevLimit") { timeserachdlev = ts.TotalMilliseconds; } else { timeserachlev = ts.TotalMilliseconds; } timelev.Content = ts.TotalMilliseconds + " мс"; }
//distance IdistanceServices.GetById(int id) //{ // throw new NotImplementedException(); //} public async Task UpdateAsync(distance obj) { _context.distance.Update(obj); await _context.SaveChangesAsync(); }
GetHits(distance, Direction4Helpers.ToDir4(dir), deltaPosition);
public void AutoDeploy() { truckcnt = (ordercnt - 1) / orderspertruck + 1; double r = 500; double theta = 360 / truckcnt; int orderstodeploy = ordercnt; if (truckcnt > 16) { MessageBox.Show("The Maximum Truck Count is 16."); return; } for (int i = 0; i < truckcnt; i++) { Truck truck = new Truck(); truck.truckid = i; truck.trucknumber = "truck" + Convert.ToString(i + 1); double x0 = r * Math.Cos(theta * i); double y0 = r * Math.Sin(theta * i); List <distance> distancelist = new List <distance>(); for (int j = 0; j < ordercnt; j++) { if (!isorderdeployed[j]) { distance dis = new distance(); dis.orderid = j; dis.dist = (orderlist[j].lat - x0) * (orderlist[j].lat - x0) + (orderlist[j].lng - y0) * (orderlist[j].lng - y0); distancelist.Add(dis); } } // sort the distance list according to the dist for (int j = 0; j < orderstodeploy; j++) { for (int k = j + 1; k < orderstodeploy; k++) { if (distancelist[j].dist > distancelist[k].dist) { distance dis = new distance(); dis = distancelist[j]; distancelist[j] = distancelist[k]; distancelist[k] = dis; } } } // take ordespertruck orders from the sorted result. int cnt = Math.Min(orderstodeploy, orderspertruck); for (int j = 0; j < cnt; j++) { truck.AddOrder(distancelist[j].orderid, orderlist[distancelist[j].orderid].lat, orderlist[distancelist[j].orderid].lng); orderlist[distancelist[j].orderid].truckid = i; isorderdeployed[distancelist[j].orderid] = true; orderstodeploy--; } trucklist.Add(truck); } }