2023-05-20 13:23:06 +04:00
|
|
|
|
import cv2 as cv
|
|
|
|
|
import numpy as np
|
|
|
|
|
|
2023-07-06 07:32:59 +04:00
|
|
|
|
img_size = (1280, 720) # Размер изображения для нормализации.
|
2023-05-20 13:23:06 +04:00
|
|
|
|
|
2023-06-24 23:26:19 +04:00
|
|
|
|
def image_transform(image: np.ndarray) -> np.ndarray:
|
|
|
|
|
'''
|
|
|
|
|
Трансформирует изображение нужным образом.
|
|
|
|
|
@param image: Исходная матрица с представлением изображения.
|
|
|
|
|
'''
|
2023-07-06 07:32:59 +04:00
|
|
|
|
image = cv.resize(image, (img_size[0], img_size[1]))
|
2023-05-20 13:23:06 +04:00
|
|
|
|
return image[:, :, ::-1]
|
|
|
|
|
|
|
|
|
|
|
2023-07-06 07:32:59 +04:00
|
|
|
|
def get_image_file_as_array(image_name: str) -> np.ndarray:
|
2023-06-24 23:26:19 +04:00
|
|
|
|
'''
|
|
|
|
|
Получает изображение из файла и нормализует его.
|
|
|
|
|
@param image_name: Путь до изображения.
|
|
|
|
|
'''
|
2023-05-20 13:23:06 +04:00
|
|
|
|
image = cv.imread(image_name)
|
|
|
|
|
image: np.ndarray # приведение типов
|
|
|
|
|
image = image_transform(image)
|
|
|
|
|
return image
|
2023-07-06 07:32:59 +04:00
|
|
|
|
|
|
|
|
|
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
|