public void AddResultToGrid(MassObj obj, DataGridView grid) { grid.Rows.Add(); var t = 3; for (var i = _count; i < grid.RowCount - 1; i++) { grid.Rows[i].Cells[0].Value = obj.Number; grid.Rows[i].Cells[1].Value = obj.Class; grid.Rows[i].Cells[2].Value = obj.R; for (int k = 0; k < obj.Height; k++) { for (int l = 0; l < obj.Width; l++) { grid.Rows[i].Cells[t].Value = obj.Mass[k, l]; t++; } } //} } //TODO HARDCORE _count++;//для того чтобы записывать в новую строку }
private void OpenNewImageButton_Click(object sender, EventArgs e) { _newMap = _showObj.OpenImage(pictureBox26); var newImage = new MassObj(); newImage = GrayScaleOperations.ToGrayScale(_newMap, 26, 0); _grayScaleList = GrayScaleOperations.EuclideanDistance(_grayScaleList, newImage); }
public static MassObj[] EuclideanDistance(MassObj[] massImages, MassObj image) { var pTask = new Task <MassObj[]>(() => { var rMass = new MassObj[massImages.Length]; var tsk = new Task <MassObj> [massImages.Length]; double R = 0, sum = 0; for (int i = 0; i < massImages.Length; i++) { MassObj temp = massImages[i]; int i1 = i; tsk[i] = new Task <MassObj>(() => { for (int j = 0; j < temp.Height; j++) { for (int k = 0; k < temp.Width; k++) { sum += Math.Pow((image.Mass[j, k] + temp.Mass[j, k]), 2); } } R = Math.Sqrt(sum); temp.R = R; return(rMass[i1] = temp); }, TaskCreationOptions.AttachedToParent); tsk[i].Start(); } return(rMass); }); pTask.Start(); pTask.Wait(); return(pTask.Result); }
private void ToGrayScaleBtn_Click(object sender, EventArgs e) { var count = _bitmaps.Count(t => t != null); var pTask = new Task <MassObj[]>(() => { var result = new MassObj[count]; var tsk = new Task <MassObj> [count]; for (int i = 0; i < count; i++) { int i1 = i; var @class = (i >= 0 && i <= 4) ? 1 : (i > 4 && i <= 9) ? 2 : (i > 9 && i <= 14) ? 3 : (i > 14 && i <= 19) ? 4 : (i > 19 && i <= 24) ? 5 : 0; tsk[i] = new Task <MassObj>(() => result[i1] = GrayScaleOperations.ToGrayScale(_bitmaps[i1], i1 + 1, @class), TaskCreationOptions.AttachedToParent); tsk[i].Start(); } return(result); }); pTask.Start(); pTask.Wait(); _grayScaleList = pTask.Result; //var map = GrayScaleOperations.FilBitmap(_grayScaleList[0].Mass, _grayScaleList[0].Height, _grayScaleList[0].Width); // _showObj.SaveAndShow(map,pictureBox26); }