如何使用python opencv和pillow在视频捕获上覆盖文本
我首先使用.putText()函数在视频捕获中显示文本。但是我不能使用自定义的truetype字体。所以我查了一下。我发现我可以用枕头做我想做的事。但它就是不起作用。这是我的代码:如何使用python opencv和pillow在视频捕获上覆盖文本,python,opencv,Python,Opencv,我首先使用.putText()函数在视频捕获中显示文本。但是我不能使用自定义的truetype字体。所以我查了一下。我发现我可以用枕头做我想做的事。但它就是不起作用。这是我的代码: import numpy as np import cv2 from datetime import * from bs4 import BeautifulSoup import requests from PIL import ImageFont, ImageDraw, Image cap = cv2.Vide
import numpy as np
import cv2
from datetime import *
from bs4 import BeautifulSoup
import requests
from PIL import ImageFont, ImageDraw, Image
cap = cv2.VideoCapture(0)
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
now = datetime.now()
current_time = now.strftime("%D: %H:%M:%S")
fontpath = "./Roboto-Light.ttf"
font = ImageFont.truetype(fontpath, 22)
img_pil = Image.fromarray(frame)
draw = ImageDraw.Draw(img_pil)
draw.text((120,660), current_time, font = ImageFont.truetype(fontpath, 48), fill = (168,98,0,0)) # Hour and Minute
cv2.namedWindow('frame', cv2.WINDOW_NORMAL)
cv2.setWindowProperty('frame', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
# Display the resulting frame
cv2.imshow('frame',frame)
if cv2.waitKey(20) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
´´´
您是在Windows、Mac还是Linux上?我在Windows上。请使用OpenCV的
putText
。根本不需要PIL。OpenCV除了putText的基本矢量字体外,还有一个truetype软件包。另外,您必须检查cap.read()中的ret是否为true,并且在创建视频捕获后,您需要检查cap.isOpened()是否为true。正如我所说,我想使用自定义字体。您在Windows、Mac或Linux上吗?我在Windows上。使用OpenCV的putText
。根本不需要PIL。OpenCV除了putText的基本矢量字体外,还有一个truetype包。另外,您必须检查cap.read()中的ret是否为true,并且您需要在创建VideoCapture后立即检查cap.isOpened()是否为true。正如我所说,我想使用自定义字体