Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用python opencv和pillow在视频捕获上覆盖文本_Python_Opencv - Fatal编程技术网

如何使用python opencv和pillow在视频捕获上覆盖文本

如何使用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

我首先使用.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.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。正如我所说,我想使用自定义字体