猿问

如何将使用 Pillow 修改的 .png 图像添加到 OpenCV 视频中?

我是新来的,我想解决一个在过去几周让我感到恶心的问题......


这就是问题所在,我有 2 个代码,一个使用 OpenCV 抓取目录的视频(它可能是一个网络摄像头),并逐帧读取每一帧上的绘制文本,绘制一个变量(仅用于测试),显示我将视频保存在python文件目录中,这是代码....(“MyPath”是与问题无关的文件路径)


import cv2

import random


capture = cv2.VideoCapture(r"MyPath\Car.mp4")

out = cv2.VideoWriter('Test.avi',cv2.VideoWriter_fourcc('M','P','4','2'), 25, (1280, 720))


def velocity():

    now = (random.randint(0,100))

    return now


while True:

    ret, frame = capture.read()

    if ret:

        font=cv2.FONT_HERSHEY_SIMPLEX

        cv2.putText(frame,'Velocity:',(15,580),font,0.7,(255,255,255),1)

        cv2.putText(frame,'Distance:',(15,620),font,0.7,(255,255,255),1)

        cv2.putText(frame,'Inclination:',(15,660),font,0.7,(255,255,255),1)

        cv2.putText(frame,'Orientation:',(15,700),font,0.7,(255,255,255),1)

        cv2.putText(frame, str(velocity()), (130,580),font,0.7,(255,255,255),1)

        cv2.putText(frame,'KM/H',(165,580),font,0.7,(255,255,255),1)

        out.write(frame)

        cv2.imshow("Testing", frame)


    else:

        break


capture.release()

out.release()

cv2.destroyAllWindows()

这工作正常,这里没有问题,我有另一个带有枕头的代码,可以打开背景图像(jpg)和 png 中的 4 个图像,这些图像调整大小并重新定位它们,然后代码将图像粘贴到背景上方,(我只是做了一个背景为了进行测试,这 4 个 png 的图像必须绘制到视频帧中,但现在它只是在测试...)然后向我展示并使用上面的 png 保存背景...再次,它完美无缺!


from PIL import Image


back = Image.open(r"MyPath\Eagle.jpg")

vel = Image.open(r"MyPath\Velocímeter.png")

dis = Image.open(r"MyPath\Distance.png")

inp = Image.open(r"MyPath\Inclination.png")

orz = Image.open(r"MyPath\Orientation.png")


vel = vel.resize((60, 60), Image.LANCZOS)

dis = dis.resize((55, 55), Image.LANCZOS)

inp = inp.resize((60, 60), Image.LANCZOS)

orz = orz.resize((60, 60), Image.LANCZOS)


问题是 Pillow 是一个图像库,所以我无法打开视频并粘贴图像,而 OpenCV 不能像 Pillow 那样轻松接受 PNG 图像......有没有办法将这 2 个代码合二为一并做我想做的事去做?(在视频帧中绘制 png 图像以获得带有文本和图像的渲染视频)这个项目是为了获取传感器和绘图的信息,这就是为什么我做了一个测试功能只是为了看,(图像是我想要的一个细节添加到项目中)。如果我的代码喜欢您并且对您有用,请随时使用它!非常感谢您的阅读!!!我希望你能帮助我(我不会说流利的英语,对于可能的错误,我很抱歉,但我可以完美地阅读你的答案)。


子衿沉夜
浏览 212回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答