不管是Jupyter Notebook还是IPython Notebook,用过的人都知道,要想达成本地python-opencv一样窗口播放视频的效果是非常麻烦的。
网络上能搜索到的matplotlib动态切换图片,大部分都是绘制函数图,或者就是用clear_output清空输出区域的办法重新绘制,既麻烦又不雅观。
现在给大家介绍一个新的方法,可以在jupyter网页开发时像opencv“窗口”一样播放视频、预览图片,甚至可以做一个在线播放器以查看远程服务器里的视频、图片文件,那就是使用
ipywidgets
里的
Image
控件。
如果还没有安装
ipywidgets
,可以在终端中使用
pip install ipywidgets
安装。
import os
import cv2
import ipywidgets as widgets
from IPython.display import display
imgbox = widgets.Image(format='jpg', height=300, width=400)
display(imgbox)
root = "datasets/Awaken"
for file in os.listdir(root):
canvas = cv2.imread(os.path.join(root, file))
imgbox.value = cv2.imencode('.jpg', canvas)[1].tobytes()
效果展示:
说明:我提前把许多张图片放在了datasets/Awaken
目录下,然后使用for
循环遍历图库,依次展示。
ipywidgets.Image
控件可以在Jupyter中开辟一个用于显示图片的窗口,与matplotlib.pyplot
的figure
不同的是,这个窗口支持随时更改其图片内容,而不需要使用IPython.display.clear_output
来清除上一次的输出。
但问题是,ipywidgets.Image
控件输入的value
不是matplotlib
与opencv
支持的numpy
格式的图片,而是流媒体格式,那么我们就要先把numpy
图像数组转换成流媒体,方法就是cv2.imencode('.jpg/.png/...', img)[1].tobytes()
。
关于ipywidgets
的更多用法,请参考我的另一篇Blog:Jupyter notebook交互输入方法
原创于CSDNhttps://blog.csdn.net/liuqixuan1994/article/details/88715454,转载请注明出处!
不管是Jupyter Notebook还是IPython Notebook,用过的人都知道,要想达成本地python-opencv一样窗口播放视频的效果是非常麻烦的。网络上能搜索到的matplotlib动态切换图片,大部分都是绘制函数图,或者就是用clear_output清空输出区域的办法重新绘制,既麻烦又不雅观。现在给大家介绍一个新的方法,可以在jupyter网页开发时像opencv“窗口”...
from IPython.display import display,Latex,Math
%matplotlib inline
from IPython.core.interactiveshell import InteractiveShell
sh = InteractiveShell.instance()
def number_to_str(n,cut=5):
ns=str(n)
format_='{0:.'+str(cut)+'f}'
if 'e' in ns or ('.' in ns and len(ns)>cut+1):
voila可以使jupyter notebook转换为交互式的仪表板。网上有一些例子(将Jupyter Notebook变成Web APP:Voila)可以了解到voila的一些功能。还有关于jupyter的使用技巧(如何优雅地使用 Jupyter?)
本文主要内容是制作一个简单的网页界面,其中的功能有:1. 选择不同的视频并且可以播放,2.运行深度学习模型的测试代码,3.补充
1. jupyter notebook播放视频
import ipywidgets as widgets
from ipy
def processImg(img):
# 画出一个框
cv2.rectangle(img, (500, 300), (800, 400), (0, 0, 255), 5, 1, 0)
# 上下翻转
# img= cv2.flip(img, 0)
ipywidgets
ipywidgets可以用于在jupyter notebook当中进行界面设计,以及一些简单的交互式控件操作。
SelectMultiple(复选框框组件取值)
from ipywidgets import interact,widgets
from ipywidgets import interact
from ipywidgets import Button, Layout
#样例列表
test_list = ['first','second','third','forth','
基于上篇文章,在开始之前需要在上级目录里打开jupyter notebook
首先需要进入scrips目录里进行激活,然后如果在该目录下输入jupyter notebook的话,不太好
所以需要进入上级目录
创建和显示窗口
需要牢记的命令
namedWindow() 创建命令窗口
imshow() 显示窗口
destroyAllwindows() 摧毁窗口
resizeWindow() 改变窗口大小
waitKey()等待用户输入
#opencv在导包的时候是叫
import cv2
capture = cv2.VideoCapture("D:\\dataset\\chip_gesture.ts")
def processImg(img):
# 画出一个框
相信大家一定会seaborn或者matplotlib这几个模块感到并不陌生,通常大家会用这几个模块来进行可视化图表的制作。
为了让我们绘制的图表更具交互性,今天我来给大家介绍个组件。喜欢记得收藏、关注、点赞。
完整代码、数据、技术交流文末获取
ipywidgets
首先我们通过pip命令来下载该模块
pip install ipywidgets
该模块中的interact函数可以和我们自定义的函数相结合,随着我们输入的不断变化,输出也会产生相应的不同结果,我们来看一个简单的案例
from ipywidge
解决matplotlib.pyplot在Jupyter Notebook中不显示图像问题可以按照以下步骤进行:
1. 首先,确保已经正确安装了matplotlib库。可以使用命令`pip install matplotlib`来安装最新的版本。
2. 导入matplotlib.pyplot并查看是否出现任何错误。如果没有错误,继续执行下一步。
3. 如果在终端或命令提示符中使用matplotlib模块时可以正常显示图像,但在Jupyter Notebook中无法显示图像,可能是由于Jupyter Notebook的设置问题。
4. 在代码的开头添加 `%matplotlib inline`,以确保在Jupyter Notebook中内联显示图像。这将告诉Jupyter Notebook在代码块的末尾自动显示matplotlib绘制的图像。
import matplotlib.pyplot as plt
%matplotlib inline
5. 如果在执行代码后仍然无法显示图像,尝试使用`plt.show()`来手动显示图像。
import matplotlib.pyplot as plt
%matplotlib inline
# 绘制图像
plt.plot(x, y)
plt.show()
6. 检查Jupyter Notebook的内核是否在运行,并且没有发生任何错误。如果有错误,修复错误并重新启动Jupyter Notebook。
7. 确保Jupyter Notebook所用的Python环境与matplotlib的安装环境一致。如果使用了虚拟环境,请确保已将matplotlib正确安装在该环境中。
希望通过以上步骤能够解决matplotlib.pyplot在Jupyter Notebook中不显示图像问题。如果问题仍然存在,可以尝试在社区或论坛中寻求进一步的帮助。
### 回答2:
解决matplotlib.pyplot在Jupyter Notebook中不显示图像的问题可以尝试以下几种解决方法。
1. 检查是否安装了matplotlib库和相关的依赖库。在终端或命令提示符中输入"pip list"或"conda list"命令,查看matplotlib和相关依赖库是否已安装。
2. 确保代码中包含正确的绘图语句并执行。例如,使用"plt.show()"语句显示图像,或在使用Jupyter Notebook时,使用"%matplotlib inline"命令启用内联绘图。
3. 检查是否存在其他的图像显示设置。有时候,Jupyter Notebook可能会在代码中显示图像之前或之后进行其他的图像显示操作,导致最终无法正确显示图像。可以尝试在代码的适当位置添加"plt.figure()"等语句,确保图像正常显示。
4. 检查Jupyter Notebook运行环境是否正常。有时候,由于Jupyter Notebook的问题,可能导致图像无法正常显示。可以尝试重新启动Jupyter Notebook,或者使用其他的Jupyter Notebook环境,如Google Colab等。
总之,要解决matplotlib.pyplot在Jupyter Notebook中不显示图像的问题,可以通过检查安装情况、确认代码正确性、调整图像显示设置和检查Jupyter Notebook环境等方式进行解决。