Matlab: сегментация изображения с использованием моментов первого порядка
Я пишу код, который позволяет пользователю выбрать некоторые области на изображении, а затем я покажу изображение с областями в сером (разные уровни серого для каждой другой области). Пользователь не должен выбирать каждую область на изображении, поэтому, если изображение имеет 5 областей, он может выбрать только 1 или 2,3... Точная процедура такова: пользователь выбирает 2 пикселя для каждой области, которую он хочет, Я создаю подизображение с помощью этой ограничительной рамки, которая включает только пиксели области. Затем я вычисляю моменты первого порядка (среднее значение, дисперсию, асимметрию и эксцесс) подизображения. Единственный оставленный шаг - найти все пиксели на изображении, которые относятся к этой области, с помощью операций соседства.
У меня есть значение каждого момента заказа для каждого региона, но диапазон значений для этих субрегионов, который я рассчитываю, чтобы указать, может ли пиксель относиться к региону, может отличаться. Так что проблема у меня в том, что я не знаю, как создать порог, чтобы указать, входит ли пиксель в область или нет.
Может быть, есть какая-то функция, которая позволяет вам ввести значение и сказать, какое значение ближе к диапазону значений?
1 ответ
Если вы вычислите среднее и стандартное значение региона в ограничительной рамке, это даст много полезной информации. Перейдите к несегментированному пикселю, проверьте его значение и посмотрите, принадлежит ли он одной из сегментированных областей:
[не код, а просто логика]
if (currentPixel <= (regionAvg + regionSTD) || currentPixel>= (regionAvg - regionSTD), чем добавить currentPixel в регион.
Имеет ли это смысл?