Matlab: сегментация изображения с использованием моментов первого порядка

Я пишу код, который позволяет пользователю выбрать некоторые области на изображении, а затем я покажу изображение с областями в сером (разные уровни серого для каждой другой области). Пользователь не должен выбирать каждую область на изображении, поэтому, если изображение имеет 5 областей, он может выбрать только 1 или 2,3... Точная процедура такова: пользователь выбирает 2 пикселя для каждой области, которую он хочет, Я создаю подизображение с помощью этой ограничительной рамки, которая включает только пиксели области. Затем я вычисляю моменты первого порядка (среднее значение, дисперсию, асимметрию и эксцесс) подизображения. Единственный оставленный шаг - найти все пиксели на изображении, которые относятся к этой области, с помощью операций соседства.

У меня есть значение каждого момента заказа для каждого региона, но диапазон значений для этих субрегионов, который я рассчитываю, чтобы указать, может ли пиксель относиться к региону, может отличаться. Так что проблема у меня в том, что я не знаю, как создать порог, чтобы указать, входит ли пиксель в область или нет.

Может быть, есть какая-то функция, которая позволяет вам ввести значение и сказать, какое значение ближе к диапазону значений?

1 ответ

Если вы вычислите среднее и стандартное значение региона в ограничительной рамке, это даст много полезной информации. Перейдите к несегментированному пикселю, проверьте его значение и посмотрите, принадлежит ли он одной из сегментированных областей:

[не код, а просто логика]

if (currentPixel <= (regionAvg + regionSTD) || currentPixel>= (regionAvg - regionSTD), чем добавить currentPixel в регион.

Имеет ли это смысл?

Другие вопросы по тегам