Изучаем opencv вместе: эффект мозаики

OpenCV

Этот кейс написан на основе версии opencv4.x
Кодовый адрес:GitHub.com/Гу Депэн/Body…

1. Код

import cv2

img = cv2.imread("./img/opencv.jpg", cv2.IMREAD_COLOR)
(h, w, c) = img.shape

for m in range(250, 350):
    for n in range(10, 350):
        if m % 5 == 0 and n % 5 == 0:
            for i in range(0, 5):
                for j in range(0, 5):
                    (b, g, r) = img[m, n]
                    img[i + m, j + n] = (b, g, r)
cv2.imshow('dst', img)
cv2.waitKey(0)

2. Эффекты

3. Объясните

Эффект мозаики на самом деле заключается в установке точки в соседнем диапазоне цвета точки. Например, код в примере состоит в том, чтобы найти место, где должна воспроизводиться мозаика, а затем установить общий цвет на цвет фиксированной точки в верхнем левом углу каждой матрицы 5*5, чтобы мозаика Если вы хотите сделать эффект мозаики меньше или больше, измените размер матрицы.