• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python生成字符视频的实现示例

python 搞代码 4年前 (2022-01-09) 38次浏览 已收录 0个评论
文章目录[隐藏]

一、前言

二、OpenCV的操作图像

我们先来看一些基本操作。首先我们需要安装OpenCV,执行下面语句:

pip install opencv-python

之后就可以使用了。

2.1、读取和显示

我们直接看代码:

import cv2
# 读取图片
img = cv2.imread("1.jpg")
# 显示图片
cv2.imshow("img", img)
cv2.waitKey()
cv2.destroyAllWindows()

其中waitKey是等待输入的函数,因为imshow之后显示一瞬间,所以我们需要调用它。而destroyAllWindows是释放窗口。

2.2、灰度转换

灰度转换就是将图片转换成黑白图片(灰色),这样可以方便我们处理像素。代码如下:

impo<i>本文来源gaodai$ma#com搞$代*码网2</i>rt cv2
img = cv2.imread("1.jpg")
# 灰度转换
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

我们还可以直接以灰度形式读入:

import cv2
# 以灰度形式读入
img = cv2.imread("1.jpg", 0)

2.4、获取图片尺寸并修改尺寸

我们直接看代码:

import cv2
img = cv2.imread("1.jpg", 0)
# 获取图片的高宽
h, w = img.shape
# 缩放图片
res = cv2.resize(img, (w//2, h//2))

因为img的shape属性是一个元组,所以我们可以直接自动拆包。

然后调用cv2.resize函数,第一个参数传入图片,第二个参数传入修改后的尺寸。

2.5、绘制文字

绘制文字我们需要调用cv2.putText函数,代码如下:

import cv2
img = cv2.imread('1.jpg')
# 绘制文字
cv2.putText(
    # 背绘制的图片
    img, 
    # 要绘制的文字
    'Hello',
    # 文字左下角的坐标
    (100, 500),
    # 字体
    cv2.FONT_HERSHEY_SIMPLEX,
    # 字体大小缩放
    20, 
    # 文字颜色
    (0, 0, 0),
    # 文字粗细
    10
)

我们只需要注意这些参数就好了。

2.6、读取视频

读取视频的操作一般是通用的,代码如下:

import cv2
# 读取视频
cap = cv2.VideoCapture('1.mp4')
# 获取视频的帧率
fps = cap.get(cv2.CAP_PROP_FPS)
# 循环读取图片的每一帧
while True:
    # 读取下一帧
    ret, frame = cap.read()
    if not ret:
        break
    else:
        pass
cap.release()

上面我们获取的视频的帧,在写入视频的时候我们需要用到。

2.7、写入视频

写入视频的操作也是常规代码:

import cv2
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
writer = cv2.VideoWriter('11.mp4', fourcc, fps, (w, h))
# 写入视频
writer.write(frame)
***
write.release()

有了这些知识,我们就可以开始下一步工作了。

三、像素映射成字符

对于只有一个通道的图片,我们可以把它当成一个矩形,这个矩形最小单位就是一个像素。而字符化的过程就是用字符替代像素点的过程。所以我们要遍历图像的每个像素点,但是我们应该用什么字符取代呢?


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python生成字符视频的实现示例

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址