Глобальный порог изображения в Matlab - PullRequest
0 голосов
/ 06 мая 2010

Когда вы используете Graythresh в Matlab, он получает значение, нормализованное от 0 до 1, поэтому, когда вы используете порог для чего-то другого, такого как imextendedmax или im2bw, как бы вы использовали Graythresh? Я предполагаю, что вы должны, вероятно, умножить это на что-то, но что?

Ответы [ 2 ]

1 голос
/ 06 мая 2010

Вам необходимо нормализовать ваше изображение до [0 ... 1], чтобы использовать graythresh.

%# test image
img = randn(512);
img(200:end,100:end) = img(200:end,100:end) + 5;

%# normalize. Subtract minimum to make lowest intensity equal to 0, then divide by the maximum
offset = min(img(:));
img = img - offset;
mult = max(img(:));
img = img./mult;

%# apply graythresh
th = graythresh(img);

%# if you want to know the threshold relative to the original intensities, use mult and offset like this
oriThresh = th*mult+offset;
0 голосов
/ 06 мая 2010

Либо нормализуйте изображение в диапазоне от 0 до 1, либо умножьте порог на максимально возможное значение изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...