当我尝试执行屏幕的视频捕获时,输出文件中的输出总是有更多的蓝色。它永远不会完全复制颜色。
我已经尝试了几种不同的编解码器,以便与 opencv 和视频编写器一起使用 Fourcc。我尝试过使用 .mjpg 和 XVID .avi 文件类型的 MJPG。还尝试将 .convert('RBGA') 添加到 ImagrGrab.grab() 行的末尾。ex ImageGrab.grab().convert('RGBA')
from PIL import ImageGrab
from PIL import ImageColor
import cv2
import numpy as np
def run():
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
vid = cv2.VideoWriter('test5.mjpg', fourcc, 8, (width, height))
while(True):
img = ImageGrab.grab(bbox=(0, 0, width, height))#testSpec: bbox=(0, 0, 800, 1000)
img_np = np.array(img)
# frame = cv2.cvtColor(img_np, cv2.COLOR_BGR2GRAY)
vid.write(img_np)
## Visually inspect recording in progress, by showing frame.
# cv2.imshow("frame", img_np) #frame
key = cv2.waitKey(1)
if key …Run Code Online (Sandbox Code Playgroud)