public void Save() { Result = $"/App_Images/{SecureGuidGenerator.GenerateGuid()}.png"; using (var factory = new DefaultImageFactory()) { factory .Load(GetPhysicalPath(ImagePath)) .Apply(ImageOperations) .Save(GetPhysicalPath(Result)); } }
private void Button_Click(object sender, RoutedEventArgs e) { //using (var matrix = AppContext.DefaultImageFactory.CreateImageEx<IRGB>(m_model.Image)) //{ // HOG hog = new HOG(); // var tmp = hog.CreateImage(matrix, 0, 0, matrix.Width, matrix.Height); // hog.Resize(tmp); //} if (m_showed) { m_img.Source = m_model.Image; m_showed = false; } else { DefaultImageFactory temp = new DefaultImageFactory(); using (var matrix = temp.CreateImageEx<IRGB>(m_model.Image)) { foreach (var point in m_model.Points) { int startx = (int)(point.X - point.Scale / 2); int starty = (int)(point.Y - point.Scale / 2); int stopx = (int)(point.X + point.Scale / 2); int stopy = (int)(point.Y + point.Scale / 2); startx = startx < 0 ? 0 : startx; starty = starty < 0 ? 0 : starty; stopx = stopx >= matrix.Width ? matrix.Width-1 : stopx; stopy = stopy >= matrix.Height ? matrix.Height-1 : stopy; for (int i = startx; i < stopx; i++) { for (int j = starty; j <= stopy; j++) { IRGB pixel = matrix[i, j]; pixel.R = 255; pixel.G = 0; pixel.B = 0; } } } m_img.Source = matrix.Image; } m_showed = true; } }
void DrawEqualityPoints() { DefaultImageFactory temp = new DefaultImageFactory(); using (var matrix = temp.CreateImageEx<IRGB>(m_model.Template.Image)) { foreach (var point in m_model) { int startx = (int)(point.Template.X - point.Template.Scale / 2); int starty = (int)(point.Template.Y - point.Template.Scale / 2); int stopx = (int)(point.Template.X + point.Template.Scale / 2); int stopy = (int)(point.Template.Y + point.Template.Scale / 2); startx = startx < 0 ? 0 : startx; starty = starty < 0 ? 0 : starty; stopx = stopx >= matrix.Width ? matrix.Width - 1 : stopx; stopy = stopy >= matrix.Height ? matrix.Height - 1 : stopy; for (int i = startx; i < stopx; i++) { for (int j = starty; j <= stopy; j++) { IRGB pixel = matrix[i, j]; pixel.R = 255; pixel.G = 0; pixel.B = 0; } } } m_img_template.Source = matrix.Image; } using (var matrix = temp.CreateImageEx<IRGB>(m_model.Sample.Image)) { int minx = (int)m_model.Min(p => p.Sample.X); int miny = (int)m_model.Min(p => p.Sample.Y); int maxx = (int)m_model.Max(p => p.Sample.X); int maxy = (int)m_model.Max(p => p.Sample.Y); for (int i = minx; i < maxx; i++) { IRGB pixel = matrix[i, miny]; pixel.R = 255; pixel.G = 0; pixel.B = 0; if (pixel is IRGBA) { ((IRGBA)pixel).Alpha = 0; } pixel = matrix[i, maxy]; pixel.R = 255; pixel.G = 0; pixel.B = 0; if (pixel is IRGBA) { ((IRGBA)pixel).Alpha = 0; } } for (int i = miny; i < maxy; i++) { IRGB pixel = matrix[minx, i]; pixel.R = 255; pixel.G = 0; pixel.B = 0; if (pixel is IRGBA) { ((IRGBA)pixel).Alpha = 0; } pixel = matrix[maxx, i]; pixel.R = 255; pixel.G = 0; pixel.B = 0; if (pixel is IRGBA) { ((IRGBA)pixel).Alpha = 0; } } m_img_sample.Source = matrix.Image; } }