如何在cv2.imshow()创建的窗口上显示系统的当前时间

时间:2018-08-19 07:30:53

标签: datetime user-interface cv2

我正在尝试在cv2.imshow()创建的窗口上显示系统的当前时间,其中包括一些属性。我已经搜索了互联网,但找不到我想要的东西。我只想在窗口上看到当前时间。也许可以通过在window属性中设置某种标志或属性来实现,但是我无法在任何地方找到它。

1 个答案:

答案 0 :(得分:1)

在窗口上显示时间涉及两件事:

  1. 从系统获取时间
  2. 将时间显示为文本

以下Python代码说明了这两个步骤:

import cv2

#--- to obtain time ---
from time import strftime

#--- read the image ---
x = r'C:\Users\Jackson\Desktop\Stack\Homography\Spartacus.jpg'
img = cv2.imread(x, 1)

#--- Position the time at (10, 70) coordinate with certain font style, size and color ---
cv2.putText(img, strftime("%H:%M:%S"), (10,70), cv2.FONT_HERSHEY_SIMPLEX, 2,(0,255,0),2,cv2.LINE_AA)
cv2.imshow('img', img)

cv2.waitKey(0)
cv2.destroyAllWindows()

结果

enter image description here

上面的代码仅显示时间。但是,如果要显示日期,请以文本形式打印以下内容:

strftime("%Y-%m-%d")

enter image description here

编辑:

这是为了在背景中显示浅色。您可以使用cv2.rectangle()来具有任何颜色的矩形区域。您可以决定大小,颜色,厚度以及是否必须填充。

以下内容将在x = 384和y = 50的位置绘制一个尺寸为(510 x 128)的填充白色矩形:

cv2.rectangle(img, (384, 50), (510, 128), (255, 255, 255), -1)

注意:请确保先绘制矩形,然后放置日期以确保日期位于矩形区域上方。