Что делает cv:: normalize (_src, dst, 0, 255, NORM_MINMAX, CV_8UC1);
Что делает cv::normalize(_src, dst, 0, 255, NORM_MINMAX, CV_8UC1);
в OpenCV?
Я просмотрел документацию и не смог понять, что делают alpha
, beta
, NORM_MINMAX
и CV_8UC1
. Я знаю, что альфа устанавливает нижнюю и бета верхнюю границу. CV_8UC1
обозначает 8-битный беззнаковый одиночный канал. Но то, что именно эти аргументы приводят к картине, - это то, что я не могу понять.
Ответы
Ответ 1
Если normType
NORM_MINMAX
, cv::normalize
нормализует _src
таким образом, что минимальное значение dst
равно alpha
, а максимальное значение dst
равно beta
. cv::normalize
использует магию, используя только шкалы и сдвиги (т.е. добавление констант и умножение на константы).
CV_8UC1
указывает, сколько каналов dst
имеет.
Документация здесь довольно ясна: http://docs.opencv.org/modules/core/doc/operations_on_arrays.html#normalize
Ответ 2
Вместо увеличения номеров каналов для изменения интервала [0,255] вы можете увеличить битовую глубину Mat, например, используйте CV_16UC1 для типа, интервальные изменения на [0, 65535].