Перевод из C в C#. Операция математической морфологии «Расширение» (Dilation)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Пожалуйста помогите перевести из C в C#. Подчеркнутое, это то что вызывает затруднение. Буду рад любой помощи. Спасибо!

Решение задачи: «Перевод из C в C#. Операция математической морфологии «Расширение» (Dilation)»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Net;
using System.Windows.Forms;
 
namespace WindowsFormsApplication344
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
 
            var img = (Bitmap)Image.FromStream(new WebClient { Proxy = null }.OpenRead("http://homepages.inf.ed.ac.uk/rbf/HIPR2/images/art2ldv1.gif"));       
            img.SetResolution(96, 96);
 
            var res = Delation(img, 1);
 
            new PictureBox { Parent = this, Image = img, SizeMode = PictureBoxSizeMode.AutoSize};
            new PictureBox { Parent = this, Image = res, SizeMode = PictureBoxSizeMode.AutoSize, Left = img.Width + 15 };
        }
 
        Image Delation(Image bmp, int N)
        {
            var result = new Bitmap(bmp.Width, bmp.Height);
            using (var g = Graphics.FromImage(result))
                g.DrawImage(bmp, Point.Empty);
 
            using (var wr = new ImageWrapper(result))
            foreach(var p in wr)
            {
                var max = 0;
                for(int i = -N;i<=N;i++)
                for(int j = -N;j<=N;j++)
                {
                    var v = wr[p.X + i, p.Y + j].G;
                    if (v > max)
                        max = v;
                }
 
                wr.SetPixel(p, max, max, max);
            }
 
            return result;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы