-1

eu estou com um problema para pixelizar as imagens em escala de cinza da webcam em tempo real e transformar em uma martiz。Segue o codigo

'''import cv2 导入matplotlib

捕获 = cv2.VideoCapture(0) x=0 而(真):

ret, frame = capture.read()

grayFrame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

cv2.imshow('video gray', grayFrame)
cv2.imshow('video original', frame)
print(grayFrame)
w, h = (16, 16)
temp = cv2.resize(input, (w, h), interpolation=cv2.INTER_LINEAR)
cv2.imshow('video original', output)

if cv2.waitKey(1) == 27:
    break'''
4

1 回答 1

3

以下是如何在 Python/OpenCV 中执行此操作。

首先,使用 INTER_AREA 调整大小。此外,缩小并备份。

输入:

在此处输入图像描述

import cv2

# read the input
img = cv2.imread("barn.jpg")
hh, ww = img.shape[:2]

# resize down, then back up
w, h = (16, 16)
result = cv2.resize(img, (w, h), interpolation=cv2.INTER_AREA)
result = cv2.resize(result, (ww, hh), interpolation=cv2.INTER_AREA)

# save result
cv2.imwrite("barn_pixelated.png", result)

# show result
cv2.imshow("result", result)
cv2.waitKey(0)
cv2.destroyAllWindows()

在此处输入图像描述

于 2020-09-06T21:00:37.163 回答