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

Datetime 如何在cv2.imshow()创建的窗口上显示系统的当前时间,datetime,user-interface,cv2,Datetime,User Interface,Cv2,我试图在cv2.imshow创建的窗口上显示系统的当前时间,其中包括一些属性。我在网上搜索了一下,但找不到我想要的东西。我只想在窗口上看到当前时间。也许可以通过在窗口属性中设置某种标志或属性来实现,但我在任何地方都找不到它。在窗口上显示时间涉及两件事: 从系统中获取时间 将时间显示为文本 以下Python代码说明了这两个步骤: import cv2 #--- to obtain time --- from time import strftime #--- read the image --

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

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

从系统中获取时间 将时间显示为文本 以下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()
结果

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

strftime("%Y-%m-%d")
编辑: 这是为了响应背景中的浅色。您可以使用cv2.rectangle拥有任何颜色的矩形区域。您可以决定尺寸、颜色、厚度以及是否需要填充

以下内容将在x=384和y=50处绘制尺寸为510 x 128的填充白色矩形:

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

注意:确保绘制矩形,然后将日期放在矩形区域上方。

谢谢,您帮了我很多忙。我还有一件事要问,实际上,我正在实时显示一个相机帧,窗口有一些我根本不需要的边框。若你们看那个框架的窗口,你们可以看到顶部像绿色箭头一样的边框,底部有坐标,两边都有填充物。有可能摆脱这些吗?它应该就像你上面提供的图片一样。我刚刚发现cv2.namedWindow,cv2.WINDOW\u GUI\u NORMAL可以完成这项工作,但它仍然保留标题bar@voo_doo你能分享问题中的图片吗?还有一件事,你想把时间显示在图片上还是显示在窗口的标题上?如果只是出于我个人的原因通过链接共享图片会更好。并且时间应该显示在图像上。这里应该没有标题栏。我应该放一些浅色背景,以便时间清晰可见