Обрезание изображения для выполнения обнаружения края

Я только что сделал и переопределит OnLocationChanged. Это грубо, но работает, и мне разрешили в один прекрасный день найти исправление, чтобы я закончил. Длина и ширина формы - 544 и 312. В чем разница между OnMove и OnLocationChanged?

protected override void OnLocationChanged(EventArgs e)
    {
        if (this.Location.X > Screen.PrimaryScreen.WorkingArea.X + Screen.PrimaryScreen.WorkingArea.Width - 544)
        {
            this.SetBounds(0, 0, 544, 312);
        }
        else if(this.Location.X < Screen.PrimaryScreen.WorkingArea.X)
        {
            this.SetBounds(0, 0, 544, 312);
        }
        if (this.Location.Y > Screen.PrimaryScreen.WorkingArea.Y + Screen.PrimaryScreen.WorkingArea.Height - 312)
        {
            this.SetBounds(0, 0, 544, 312);
        }
        else if (this.Location.Y < Screen.PrimaryScreen.WorkingArea.Y)
        {
            this.SetBounds(0, 0, 544, 312);
        }
    }
-1
задан Stefano Pozzi 13 July 2018 в 09:32
поделиться

1 ответ

Ужасающие изображения (к сожалению) довольно сложны, причина в том, что размытие снимает шум, поэтому есть несколько (шумных) изображений, которые будут приносить одно и то же изображение при его размытии. Это означает, что нет простого способа, чтобы компьютер «выбирал» какой из шумных изображений, когда вы его дебютируете. Из-за этого застопоривание часто дает шумные изображения.

Теперь вы можете спросить, как фотографы делают это на самом деле. Ну, на самом деле они не дебют изображений, они затачивают их (что немного отличается). Когда вы делаете резкость изображения, вы увеличиваете контраст между границами, чтобы подчеркнуть их (именно поэтому вы иногда видите ореол вокруг границ на слишком резких изображениях).

В этом случае вы хотите deblur it (и нет ядра свертки, которое позволит вам это сделать). Чтобы сделать это в хорошем смысле, вам нужно знать, какой процесс размыл изображение в первую очередь (то есть, если вы не хотите тратить тысячи долларов на специальное программное обеспечение или не владеете математикой или астрономией) ,

Если вы все еще хотите это сделать, я бы рекомендовал искать деконволюцию, и если вы не знаете процесс размытия, слепой deconvolution. Есть некоторые (грубые) функции для него в skimage, которые могут быть полезны ( http://scikit-image.org/docs/stable/auto_examples/filters/plot_restoration.html#sphx-glr-auto-examples -filters-plot-restore-py ).

Наконец, окончательная ссылка в Jax Briggs кажется полезной, но я не буду пересекать пальцы для магических результатов.

1
ответ дан Yngve Moe 17 August 2018 в 13:23
поделиться
  • 1
    Thx за ответ! Я уже изучил это, но в результате я получал странные белые изображения (некоторые черные пиксели). Я отправлю код и результирующее изображение в качестве редактирования – Stefano Pozzi 13 July 2018 в 09:29
  • 2
    Очень удивительное объяснение того, почему устранение шума усиливает шум ... – Yves Daoust 18 July 2018 в 08:07
Другие вопросы по тегам:

Похожие вопросы: