Нормализация диапазона значений
Выполнить нормализацию значений в диапазоне от 0 до 255 позволяет статический метод normalize_8u() из класса UHelperNP. Формат метода:
UHelperNP.normalize_8u(<UImage>)
В качестве параметра можно указать объекты UMat, UImage, UImageRGB или UImageGray. Новый список заменит список в текущем объекте. Метод возвращает значение True, если операция выполнена успешно, и None — в противном случае. Операция выполняется с помощью библиотеки NumPy. Пример:
from unicross_image.uimage import UImage, UImageRGB, UImageGray, UMat
from unicross_image.uhelper_np import UHelperNP
img = UImage(1, 1)
img.arr = [256, -1, 0, 255]
print(UHelperNP.normalize_8u(img)) # True
print(img.arr) # [255, 0, 0, 255]
img = UImageRGB(1, 1)
img.arr = [256, -1, 0]
print(UHelperNP.normalize_8u(img)) # True
print(img.arr) # [255, 0, 0]
img = UImageGray(3, 1)
img.arr = [256, -1, 0]
print(UHelperNP.normalize_8u(img)) # True
print(img.arr) # [255, 0, 0]
m = UMat(3, 1, mat_type=UMat.Type_8U)
m.arr = [256, -1, 0]
print(UHelperNP.normalize_8u(m)) # True
print(m.arr) # [255, 0, 0]
Выполнить нормализацию значений в диапазоне от 0 до 65 535 позволяет статический метод umat_normalize_16u() из класса UHelperNP. Формат метода:
UHelperNP.umat_normalize_16u(<UMat>)
В качестве параметра указывается объект UMat. Новый список заменит список в текущем объекте. Метод возвращает значение True, если операция выполнена успешно, и None — в противном случае. Операция выполняется с помощью библиотеки NumPy. Пример:
from unicross_image.umat import UMat
from unicross_image.uhelper_np import UHelperNP
m = UMat(4, 1, mat_type=UMat.Type_16U)
m.arr = [65536, -1, 0, 65535]
print(UHelperNP.umat_normalize_16u(m)) # True
print(m.arr) # [65535, 0, 0, 65535]
Выполнить нормализацию вещественных значений в диапазоне от 0.0 до 1.0 позволяет статический метод umat_normalize_64f() из класса UHelperNP. Формат метода:
UHelperNP.umat_normalize_64f(<UMat>)
В качестве параметра указывается объект UMat. Новый список заменит список в текущем объекте. Метод возвращает значение True, если операция выполнена успешно, и None — в противном случае. Операция выполняется с помощью библиотеки NumPy. Пример:
from unicross_image.umat import UMat
from unicross_image.uhelper_np import UHelperNP
m = UMat(4, 1, mat_type=UMat.Type_64F)
m.arr = [1.5, -0.5, 0.0, 1.0]
print(UHelperNP.umat_normalize_64f(m)) # True
print(m.arr) # [1.0, 0.0, 0.0, 1.0]
Выполнить нормализацию значений в диапазоне от vmin до vmax позволяет статический метод normalize() из класса UHelperNP. Формат метода:
UHelperNP.normalize(<UImage>, vmin, vmax)
В качестве первого параметра можно указать объекты UMat, UImage, UImageRGB или UImageGray. Параметр vmin задает нижний порог диапазона, а параметр vmax — верхний порог. Новый список заменит список в текущем объекте. Метод возвращает значение True, если операция выполнена успешно, и None — в противном случае. Операция выполняется с помощью библиотеки NumPy. Пример:
from unicross_image.uimage import UImage, UImageRGB, UImageGray, UMat
from unicross_image.uhelper_np import UHelperNP
img = UImage(1, 1)
img.arr = [256, -1, 0, 255]
print(UHelperNP.normalize(img, 0, 255)) # True
print(img.arr) # [255, 0, 0, 255]
img = UImageRGB(1, 1)
img.arr = [256, -1, 0]
print(UHelperNP.normalize(img, 0, 255)) # True
print(img.arr) # [255, 0, 0]
img = UImageGray(3, 1)
img.arr = [256, -1, 0]
print(UHelperNP.normalize(img, 0, 255)) # True
print(img.arr) # [255, 0, 0]
m = UMat(3, 1, mat_type=UMat.Type_8U)
m.arr = [256, -1, 0]
print(UHelperNP.normalize(m, 0, 255)) # True
print(m.arr) # [255, 0, 0]
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage