34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
import cv2 as cv
|
||
import numpy as np
|
||
|
||
img_size = (1280, 720) # Размер изображения для нормализации.
|
||
|
||
def image_transform(image: np.ndarray) -> np.ndarray:
|
||
'''
|
||
Трансформирует изображение нужным образом.
|
||
@param image: Исходная матрица с представлением изображения.
|
||
'''
|
||
image = cv.resize(image, (img_size[0], img_size[1]))
|
||
return image[:, :, ::-1]
|
||
|
||
|
||
def get_image_file_as_array(image_name: str) -> np.ndarray:
|
||
'''
|
||
Получает изображение из файла и нормализует его.
|
||
@param image_name: Путь до изображения.
|
||
'''
|
||
image = cv.imread(image_name)
|
||
image: np.ndarray # приведение типов
|
||
image = image_transform(image)
|
||
return image
|
||
|
||
def get_image_buf_as_array(buf) -> np.ndarray:
|
||
'''
|
||
Получает изображение из буфера и нормализует его.
|
||
@param image_name: Путь до изображения.
|
||
'''
|
||
image = cv.imdecode(buf, cv.IMREAD_COLOR)
|
||
image: np.ndarray # приведение типов
|
||
image = image_transform(image)
|
||
return image
|