程序员深度学习

计算机视觉 OpenCV (F) 添加文字

2019-08-10  本文已影响26人  zidea

在之前我们捕获视频流图像的尺寸是默认,我们也可以通过参数配置捕捉视频流的大小。

import cv2

cap = cv2.VideoCapture(0)
print(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
print(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:
        
        gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cv2.imshow('frame',gray)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
cap.release()
cv2.destroyAllWindows()

可以通过cv2 常量设置视频流的宽度和高度,cv2.CAP_PROP_FRAME_WIDTH 对应位整型的 3 而 CAP_PROP_FRAME_HEIGHT 对应整型的 4,所以也可以通过 3, 4 来为视频流指定高度。

cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)

在视频流添加文字(时间)

import cv2

cap = cv2.VideoCapture(0)
# print(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
# print(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

cap.set(cv2.CAP_PROP_FRAME_WIDTH,640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,480)

while(cap.isOpened()):
    ret, frame = cap.read()
    if ret == True:
        
        font = cv2.FONT_HERSHEY_SIMPLEX
        text = 'Width: ' + str(cap.get(3)) + ' Height: ' + str(cap.get(4))
        frame = cv2.putText(frame,text,(10,50),font,1,(0,255,255),2,cv2.LINE_AA)
        # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
        cv2.imshow('frame',frame)

        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    else:
        break
cap.release()
cv2.destroyAllWindows()

font 用于指定显示文字的字体,我们用 putText 方法为图片添加文字,第一个参数是图片资源,第二参数是文字的位置,接下来参数是控制文字大小,通过一个比例值(缩放值来控制文字大小)这里指定是 1,(0,255,255)指定文字颜色,随后参数 2 是线的宽度,最后 LINE_AA 是线条的类型。


      datet = str(datetime.datetime.now())
        frame = cv2.putText(frame,datet,(10,50),font,1,(0,255,255),2,cv2.LINE_AA)
        # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
opencv.jpeg
上一篇下一篇

猜你喜欢

热点阅读