питон код для раскрашивание чёрно-белых фото
import tensorflow as tf
from tensorflow import keras
import numpy as np
import cv2
# загружаем черно-белое изображение
img = cv2.imread('bw_image.jpg', 0)
height, width = img.shape
# создаем автоэнкодер
autoencoder = keras.models.Sequential([
keras.layers.Conv2D(filters=32, kernel_size=3, strides=1, padding='same', input_shape=(height, width, 1)),
keras.layers.BatchNormalization(),
keras.layers.Activation('relu'),
keras.layers.Conv2D(filters=64, kernel_size=3, strides=2, padding='same'),
keras.layers.BatchNormalization(),
keras.layers.Activation('relu'),
keras.layers.Conv2D(filters=128, kernel_size=3, strides=2, padding='same'),
keras.layers.BatchNormalization(),
keras.layers.Activation('relu'),
keras.layers.UpSampling2D(),
keras.layers.Conv2D(filters=64, kernel_size=3, strides=1, padding='same'),
keras.layers.BatchNormalization(),
keras.layers.Activation('relu'),
keras.layers.UpSampling2D(),
keras.layers.Conv2D(filters=32, kernel_size=3, strides=1, padding='same'),
keras.layers.BatchNormalization(),
keras.layers.Activation('relu'),
keras.layers.Conv2D(filters=2, kernel_size=3, strides=1, padding='same')
])
# компилируем модель
autoencoder.compile(loss='mse', optimizer='adam')
# преобразовываем входное изображение и создаем массив для цветного изображения
gray = img.reshape((1, height, width, 1))
color = np.zeros((1, height, width, 2))
# обучаем модель на основе черно-белого изображения
autoencoder.fit(gray, color, epochs=50, batch_size=1)
# обработка изображения, получение результатов
color_img = autoencoder.predict(gray)
color_img = color_img.reshape((height, width, 2)).astype(np.uint8)
# сохраняем цветное изображение
cv2.imwrite('color_image.jpg', color_img)
В данном примере мы загружаем черно-белое изображение с помощью библиотеки OpenCV. Затем мы создаем модель автоэнкодера с помощью библиотеки TensorFlow и Keras. Мы используем сверточные слои для изучения зависимостей между черно-белым и цветным изображениями, а также слои BatchNormalization для нормализации данных.
После компиляции модели мы преобразовываем входное черно-белое изображение в массив и создаем массив для цветного изображения.
Затем мы обучаем модель на основе черно-белого изображения и получаем цветное изображение с помощью метода predict. Мы сохраняем цветное изображение с помощью библиотеки OpenCV.
В зависимости от качества обучения модели и соответствия данных, полученное цветное изображение может оставаться существенно отличающимся от оригинального. Поэтому, в зависимости от приложения, могут быть использованы различные подходы к решению задачи раскраски чёрно-белых фотографий.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет