在IPython笔记本中读取/写入/显示图像和视频
项目描述
在IPython/Jupyter笔记本中读取/写入/显示图像和视频。
示例
查看笔记本 mediapy_examples.ipynb
图像
!pip install -q mediapy
import mediapy as media
import numpy as np
image = media.read_image('https://github.com/hhoppe/data/raw/main/image.png')
print(image.shape, image.dtype) # It is a numpy array.
media.show_image(image)
checkerboard = np.kron([[0, 1] * 16, [1, 0] * 16] * 16, np.ones((4, 4)))
media.show_image(checkerboard)
media.show_image(media.color_ramp((128, 128)), height=48, title='ramp')
images = {
'original': image,
'brightened': media.to_float01(image) * 1.5,
}
media.show_images(images)
media.write_image('/tmp/checkerboard.png', checkerboard)
视频
url = 'https://github.com/hhoppe/data/raw/main/video.mp4'
video = media.read_video(url)
print(video.shape, video.dtype) # It is a numpy array.
print(video.metadata.fps) # The 'metadata' attribute includes framerate.
media.show_video(video) # Play the video using the retrieved framerate.
media.show_images(video, height=80, columns=4) # Show frames side-by-side.
video = media.moving_circle((128, 128), num_images=10)
media.show_video(video, fps=10)
media.write_video('/tmp/video.mp4', video, fps=60)
# Darken a video frame-by-frame:
filename_in = '/tmp/video.mp4'
filename_out = '/tmp/out.mp4'
with media.VideoReader(filename_in) as r:
print(f'shape={r.shape} fps={r.fps} bps={r.bps}')
darken_image = lambda image: media.to_float01(image) * 0.5
with media.VideoWriter(
filename_out, shape=r.shape, fps=r.fps, bps=r.bps) as w:
for image in r:
w.add_image(darken_image(image))
media.show_video(media.read_video(filename_out), fps=60)
设置
视频I/O依赖于外部程序ffmpeg
,它必须在系统PATH中存在。在Unix上,可以使用以下命令安装:
apt install ffmpeg
或使用笔记本中的
!command -v ffmpeg >/dev/null || (apt update && apt install -y ffmpeg)
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
mediapy-1.2.2.tar.gz (26.6 kB 查看哈希值)
构建分布
mediapy-1.2.2-py3-none-any.whl (26.0 kB 查看哈希值)
关闭
mediapy-1.2.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 42d9a1aa93c183550b824dbb4f0de5da61aa5c84db8f01f063acd1f23b90ef0a |
|
MD5 | d1036a533ab60a7b36be47c74ef3c0c4 |
|
BLAKE2b-256 | 84ee1a686eddd78700c4e1ff49dbf80cb5a23b1b8af25d936bc774f4d36501ba |
关闭
mediapy-1.2.2-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2b159c385120c6eca9c88ccf96a19fb2b5b5937c788cf430db637d27270618ba |
|
MD5 | 787457b396e0ea88fc4fe625efc6d63b |
|
BLAKE2b-256 | 606060afad3bdd7d828c383e97efe2d774ebad8f41180f13b307ff895f2cb5e9 |