1. Загрузите image.jpg в массив. 2. Случайно выберите координаты из массива и отобразите этот пиксель со всеми его атрибутами. 3. Координата выталкивания используется из массива. 4. Повторяйте # 2, пока массив не станет пустым

Это будет отображать изображение с заполненными случайными пикселями.

Конечным результатом всегда будет исходное изображение, но каждый раз оно будет заполняться другим способом.

Как это можно сделать в Python3?

2
yopines 21 Дек 2019 в 04:37

1 ответ

Лучший ответ

Вот один из способов сделать это ...

#!/usr/bin/env python3

import numpy as np
import cv2

# Open the image and make black version, same size, to fill randomly
im = cv2.imread('paddington.png')
fade = np.zeros_like(im)

# Generate a randomly shuffled array of the coordinates
X,Y = np.where(im[...,0]>=0)
coords = np.column_stack((X,Y))
np.random.shuffle(coords)

for n, c in enumerate(list(coords)):
    # Copy one original pixel across to image we are fading in
    x, y = c
    fade[x,y] = im[x,y]
    # It takes 1ms to update the image, so we don't update after every pixel
    if n % 500 == 0:
        cv2.imshow('Fading in...', fade)
        cv2.waitKey(1)

# Image should now be completely faded in
cv2.imshow('Fading in...', fade)
cv2.waitKey()

enter image description here

Ключевые слова : Python, OpenCV, постепенное исчезновение, постепенное исчезновение, постепенное исчезновение с черного, постепенное исчезновение с белого, обработка изображений, видео.

1
Mark Setchell 23 Дек 2019 в 13:54