Главная » 2025 » Декабрь » 22 » Разделение изображения на каналы
22:03
Разделение изображения на каналы

Разделение изображения на каналы

Разделить изображение UImage на отдельные каналы позволяет статический метод uimage_split() из класса UHelperNP. Формат метода:

UHelperNP.uimage_split(<UImage>)

В качестве параметра указывается объект UImage. Метод возвращает кортеж из 4-х элементов (R, G, B, A), или None — в случае ошибки. Каждый элемент кортежа является массивом NumPy. Операция выполняется с помощью библиотеки NumPy. Пример:

from unicross_image.uimage import UImage
from unicross_image.uhelper_np import UHelperNP

img = UImage.load("foto.png")
channels = UHelperNP.uimage_split(img)
if channels is not None:
    red, green, blue, alpha = channels
    print(red.shape)     # (333, 500)
    print(red.dtype)     # int32
    print(green.shape)   # (333, 500)
    print(blue.shape)    # (333, 500)
    print(alpha.shape)   # (333, 500)
else:
    print("Ошибка при выполнении операции")

Разделить изображение UImageRGB на отдельные каналы позволяет статический метод uimagergb_split() из класса UHelperNP. Формат метода:

UHelperNP.uimagergb_split(<UImageRGB>)

В качестве параметра указывается объект UImageRGB. Метод возвращает кортеж из 3-х элементов (R, G, B), или None — в случае ошибки. Каждый элемент кортежа является массивом NumPy. Операция выполняется с помощью библиотеки NumPy. Пример:

from unicross_image.uimagergb import UImageRGB
from unicross_image.uhelper_np import UHelperNP

img = UImageRGB.load("foto.jpg")
channels = UHelperNP.uimagergb_split(img)
if channels is not None:
    red, green, blue = channels
    print(red.shape)     # (333, 500)
    print(red.dtype)     # int32
    print(green.shape)   # (333, 500)
    print(blue.shape)    # (333, 500)
else:
    print("Ошибка при выполнении операции")

Если нужно получить только один канал, то можно воспользоваться следующими методами из класса UHelperNP:

UHelperNP.uimage_red_channel(<UImage или UImageRGB>)
UHelperNP.uimage_green_channel(<UImage или UImageRGB>)
UHelperNP.uimage_blue_channel(<UImage или UImageRGB>)
UHelperNP.uimage_alpha_channel(<UImage>)

В качестве параметра указывается объект UImage. В первых трех методах можно передать объект UImageRGB. Методы возвращают массив NumPy или значение None в случае ошибки. Операция выполняется с помощью библиотеки NumPy. Пример:

from unicross_image.uimage import UImage, UImageRGB
from unicross_image.uhelper_np import UHelperNP

img = UImage.load("foto.png")
red = UHelperNP.uimage_red_channel(img)
green = UHelperNP.uimage_green_channel(img)
blue = UHelperNP.uimage_blue_channel(img)
alpha = UHelperNP.uimage_alpha_channel(img)
print(red.shape)     # (333, 500)
print(red.dtype)     # int32
print(green.shape)   # (333, 500)
print(blue.shape)    # (333, 500)
print(alpha.shape)   # (333, 500)

img = UImageRGB.load("foto.jpg")
red = UHelperNP.uimage_red_channel(img)
green = UHelperNP.uimage_green_channel(img)
blue = UHelperNP.uimage_blue_channel(img)
print(red.shape)     # (333, 500)
print(red.dtype)     # int32
print(green.shape)   # (333, 500)
print(blue.shape)    # (333, 500)

Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage

Категория: UImage | Просмотров: 5 | Добавил: unicross | Теги: UHelperNP, Python, NumPy, UImage, UImageGray | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Списки слов [10]
Списки слов и словари
OCR [4]
Оптическое распознавание символов
UImage [80]
Графическая библиотека для Python
UImage C [7]
Графическая библиотека для Python
Программы [4]
Полезные программы
Прочее [3]
Другие темы
Календарь
«  Декабрь 2025  »
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
293031