import cv2
import matplotlib
capture = cv2.VideoCapture(0)
x=0
while(True):
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
Asked
Active
Viewed 456 times
0

General Grievance
- 4,555
- 31
- 31
- 45
-
https://stackoverflow.com/a/51547855/2836621 – Mark Setchell Sep 06 '20 at 19:57
-
write in English – furas Sep 07 '20 at 01:24
1 Answers
4
Here is how to do that in Python/OpenCV.
First, use INTER_AREA for resizing. Also, resize down and back up.
Input:
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()

fmw42
- 46,825
- 10
- 62
- 80