当前位置: 首页 > news >正文

Jupyter Notebook 中显示图片、音频、视频的方法汇总

在 Jupyter Notebook 中显示图片、音频、视频的方法有多种,以下是按类别汇总的常用方法,涵盖直接调用、库函数处理等场景,附代码示例和说明:

一、显示图片

1. 基于 IPython.display.Image(最直接,支持本地文件/URL)

适用于快速显示本地图片文件或网络图片,无需复杂处理。

from IPython.display import Image# 显示本地图片(路径为相对路径或绝对路径)
Image(filename="test_image.png", width=300, height=200)# 显示网络图片(直接传入URL)
Image(url="https://example.com/image.jpg", width=400)
2. 基于 matplotlib(支持图像数组/处理后显示)

适用于从数组(如OpenCV读取的图像)或处理后的图像数据中显示,需结合 matplotlib.pyplot

import matplotlib.pyplot as plt
import cv2  # 需安装:pip install opencv-python
import numpy as np# 方法1:显示本地图片(通过matplotlib读取)
img = plt.imread("test_image.png")  # 读取图片为数组(RGB格式)
plt.figure(figsize=(8, 6))  # 设置画布大小
plt.imshow(img)  # 显示图片
plt.axis("off")  # 隐藏坐标轴
plt.show()# 方法2:显示OpenCV读取的图片(注意OpenCV默认BGR格式,需转RGB)
img_cv = cv2.imread("test_image.png")  # 读取为BGR格式
img_rgb = cv2.cvtColor(img_cv, cv2.COLOR_BGR2RGB)  # 转换为RGB
plt.imshow(img_rgb)
plt.axis("off")
plt.show()
3. 基于 PIL(Pillow,支持图像处理后显示)

适用于用Pillow库处理图片(如裁剪、缩放)后直接显示。

from PIL import Image as PILImage
import matplotlib.pyplot as plt# 用Pillow打开图片并处理
img = PILImage.open("test_image.png")
img_resized = img.resize((300, 200))  # 缩放# 显示处理后的图片
plt.imshow(img_resized)
plt.axis("off")
plt.show()
4. 基于 Markdown 语法(静态嵌入,无需代码)

直接在 Notebook 的 Markdown 单元格中用 Markdown 语法插入图片,适合固定路径的图片。

# 插入本地图片
![图片描述](test_image.png)# 插入网络图片
![图片描述](https://example.com/image.jpg)

二、播放音频

1. 基于 IPython.display.Audio(支持本地文件/音频数组)

适用于播放本地音频文件(如wav、mp3)或从数组生成的音频数据。

from IPython.display import Audio
import numpy as np# 方法1:播放本地音频文件
Audio(filename="test_audio.wav")  # 支持wav、mp3等格式# 方法2:播放音频数组(如生成正弦波)
sample_rate = 44100  # 采样率
duration = 2  # 时长2秒
frequency = 440  # 频率440Hz(A音)
t = np.linspace(0, duration, int(sample_rate * duration), endpoint=False)
audio_data = np.sin(2 * np.pi * frequency * t)  # 生成正弦波数据
Audio(audio_data, rate=sample_rate)  # 播放数组音频

三、播放视频

1. 基于 IPython.display.Video(支持本地文件/URL)

适用于直接播放本地视频文件或网络视频,支持常见格式(如mp4、mov)。

from IPython.display import Video# 播放本地视频(路径为相对/绝对路径)
Video("output_video.mp4", width=600, height=400, embed=True)  # embed=True确保嵌入播放# 播放网络视频(传入URL)
Video(url="https://example.com/video.mp4", width=800)
2. 基于 HTML 嵌入(支持在线视频/自定义播放器)

适用于嵌入在线视频(如YouTube、B站)或自定义视频标签,需用 IPython.display.HTML

from IPython.display import HTML# 嵌入YouTube视频(替换视频ID)
youtube_video_id = "abc123"
HTML(f"""
<iframe width="600" height="400" 
src="https://www.youtube.com/embed/{youtube_video_id}" 
frameborder="0" allowfullscreen></iframe>
""")# 嵌入本地视频(通过HTML5 video标签,更灵活)
HTML("""
<video width="600" height="400" controls><source src="output_video.mp4" type="video/mp4">您的浏览器不支持视频播放
</video>
""")

注意事项:

  1. 路径问题:本地文件需确保路径正确(相对路径相对于Notebook文件位置,绝对路径需完整)。
  2. 格式支持:不同浏览器/Notebook环境对音视频格式支持可能不同(mp4、wav通常兼容)。
  3. 数据大小:过大的媒体文件可能导致Notebook加载缓慢,建议压缩后使用。

根据需求选择对应的方法即可,简单显示优先用 IPython.display 中的类,处理数据(如数组)优先用 matplotlib 或音频/视频处理库。

http://www.xdnf.cn/news/1213525.html

相关文章:

  • RabbitMQ 发送方确认的两大工具 (With Spring Boot)
  • 开源 Arkts 鸿蒙应用 开发(十三)音频--MP3播放
  • 在线教育场景下AI应用,课程视频智能生成大纲演示
  • 大厂主力双塔模型实践与线上服务
  • 【swoole Windows 开发(swoole-cli 开发 hyperf)】
  • 算法训练营day36 动态规划④ 1049. 最后一块石头的重量 II、494. 目标和、474.一和零
  • 基于Rust与HDFS、YARN、Hue、ZooKeeper、MySQL
  • 【ee类保研面试】数学类---线性代数
  • 【iOS】weak修饰符
  • USRP捕获手机/路由器数据传输信号波形
  • 国内好用的智能三防手机,适合户外、工业、公共安全等场景
  • LLMs之Agent:GLM-4.5的简介、安装和使用方法、案例应用之详细攻略
  • 【MySQL学习|黑马笔记|Day3】多表查询(多表关系、内连接、外连接、自连接、联合查询、子查询),事务(简介、操作、四大体系、并发事务问题、事务隔离级别)
  • 智能车辆热管理测试方案——提升效能与保障安全
  • Three.js 与 WebXR:初识 VR/AR 开发
  • 多模通信·数据采集:AORO P9000U三防平板带来定制化解决方案
  • 如何在出售Windows11/10/8/7前彻底清除电脑数据
  • B站 XMCVE Pwn入门课程学习笔记(6)
  • 洛谷刷题7.30
  • C++反射
  • 认识ansible(入门)
  • Javascript 基础总结
  • docker:将cas、tomcat、字体统一打包成docker容器
  • VS Code中如何关闭Github Copilot
  • 技术速递|GitHub Copilot 的 Agent 模式现已全面上线 JetBrains、Eclipse 和 Xcode!
  • 企业级WEB应用服务器TOMCAT
  • 【IDEA】JavaWeb自定义servlet模板
  • 工厂方法模式:从基础到C++实现
  • 华为昇腾NPU卡 文生视频[T2V]大模型WAN2.1模型推理使用
  • Kubernetes资源调优终极指南:从P95识别到精准配置