|
Дата публикации:
Помогите с кодом на python. Я крайний дилетант в python, и скажу честно, пользовался помощью нейросетки.
Помогите с кодом на python. Я крайний дилетант в python, и скажу честно, пользовался помощью нейросетки.
Ошибка возникает из-за того, что модуль cv2 не был импортирован. Чтобы исправить эту ошибку, нужно переместить строку "pip install opencv-python-headless" перед строкой "import cv2". Также убедитесь, что у вас установлен модуль opencv-python-headless.
Вот исправленный код:
pip install opencv-python-headless
import cv2
# Сжатие до нужного размера
def compress_image(image, width, height):
resized_image = cv2.resize(image, (width, height))
return resized_image
# Значения цветов
def determine_color(pixel):
color_map = {
(0, 0, 0): 1, # Чёрный
(0, 0, 255): 2, # Красный
(0, 255, 0): 3, # Зелёный
(255, 255, 0): 4, # Жёлтый
(255, 0, 0): 5, # Синий
(255, 0, 255): 6, # Фиолетовый
(0, 255, 255): 7, # Голубой
(255, 255, 255): 8 # Белый
}
return color_map.get(tuple(pixel), 0)
# Значения яркости
def determine_brightness(pixel):
grayscale_value = sum(pixel) // 3
brightness_levels = [' ', '.', ':', '^', '~', '!', '7', '?', 'J', 'Y', '5', 'P', 'G', 'B', '#', '&', '@']
brightness_index = (grayscale_value * (len(brightness_levels) - 1)) // 255
return brightness_levels[brightness_index]
def process_video(input_folder, width, height):
result = ""
for i in range(2): # Количество кадров
frame_path = f"{input_folder}/frame_{i}.jpg" # Путь кадра
image = cv2.imread(frame_path) # Загрузка изображения
compressed_image = compress_image(image, width, height) # Сжатие изображения
# Определение цвета и яркости для каждого пикселя
for row in compressed_image:
for pixel in row:
color = determine_color(pixel)
brightness = determine_brightness(pixel)
result += f"{color}-{brightness}"
result += "\n"
result += "/\n"
# Запись результата в файл
with open("D:\\NEW\\colorset\\color_result.txt", "w") as file:
file.write(result)
input_folder = "D:\\NEW\\colorset\\video.mp4" # Путь к папке с видео
width = 120
height = 64
process_video(input_folder, width, height)
# Пауза
a = input()
Теперь код должен работать без ошибок.