我想从我在matplotlib的python脚本中生成的帧创建一个h264或divx电影.这部电影大约有10万帧.
在网络上的例子中[例如 1],我只看到了将每个帧保存为png然后在这些文件上运行mencoder或ffmpeg的方法.就我而言,保存每一帧是不切实际的.有没有办法从matplotlib生成一个图并将其直接传递给ffmpeg,不生成中间文件?
用ffmpeg的C-api编程对我来说太难了[例如.2].此外,我需要一个具有良好压缩的编码,例如x264,因为电影文件对于后续步骤来说太大了.所以坚持使用mencoder/ffmpeg/x264会很棒.
有什么东西可以通过管道来完成[3]?
[1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html
我有两个具有相同第一轴尺寸的二维阵列.在python中,我想仅沿第二轴卷积两个矩阵.我想C
在不计算沿第一轴的卷积的情况下进入下方.
import numpy as np
import scipy.signal as sg
M, N, P = 4, 10, 20
A = np.random.randn(M, N)
B = np.random.randn(M, P)
C = sg.convolve(A, B, 'full')[(2*M-1)/2]
Run Code Online (Sandbox Code Playgroud)
有快速的方法吗?
我的NX会话的键映射出现乱码问题.
我有一台运行OS X Lion的Macbook Air.我使用OpenNX与运行FreeNX的Ubuntu服务器启动会话.会话类型是Gnome.
我的键映射非常关闭(例如,w给出=,删除给出",",t给出w).我试过了:
xmodmap -pke > nxclient.xmodmap
Run Code Online (Sandbox Code Playgroud)
在客户端上,
xmodmap nxclient.xmodmap
Run Code Online (Sandbox Code Playgroud)
在服务器上,我恢复了许多密钥,但它仍然无法使用.我尝试了Gnome键盘布局但没有工作.XFCE会话也会出现此问题.
我会很感激任何提示.x2go使用Gnome在客户端和服务器上工作,没有任何问题.不幸的是,它目前在Mac OS X Lion上不起作用.
我正在使用具有交互模式的matplotlib并且正在执行计算,比如说有很多步骤的优化,我在每个步骤绘制中间结果以进行调试.这些图通常填满屏幕并在很大程度上重叠.
我的问题是,在计算过程中,当我点击它们时,部分或完全遮挡的数字不会刷新.它们只是一片空白.
我想在点击图形时强制重绘,否则显示它是没用的.目前,我在代码中插入了pdb.set_trace(),所以我可以停下来点击所有数字,看看发生了什么
有没有办法强制matplotlib重绘一个数字,只要它获得鼠标焦点或调整大小,即使它忙于做其他事情?
我有一个长度为T的实矢量时间序列x和一个长度为t的滤波器h.h是傅里叶空间中的滤波器,实数和对称.大概是1/f.
我想用h过滤x得到y.
假设t == T并且长度为T的FFT可以适合存储器(两者都不是真的).要在python中获取我的过滤后的x,我会这样做:
import numpy as np
from scipy.signal import fft, ifft
y = np.real( np.ifft( np.fft(x) * h ) ) )
Run Code Online (Sandbox Code Playgroud)
由于条件不成立,我尝试了以下hack:
这是一个好策略吗?如何以良好的方式选择填充P?这样做的正确方法是什么?我不太了解信号处理.这是一个很好的学习机会.
我正在使用cuFFT来加快速度,因此如果大部分操作都是FFT,那将会很棒.实际问题是3D.此外,我不关心非因果过滤器的工件.
谢谢,保罗.
这是我的问题的简化.我有一个numpy数组:
x = np.array([0,1,2,3])
Run Code Online (Sandbox Code Playgroud)
我有一个功能:
def f(y): return y**2
Run Code Online (Sandbox Code Playgroud)
我可以计算f(x).
现在假设我真的想为重复的x计算f(x):
x = np.array([0,1,2,3,0,1,2,3,0,1,2,3])
Run Code Online (Sandbox Code Playgroud)
有没有办法在不创建x的重复版本的情况下以一种对f透明的方式执行此操作?
在我的特定情况下,f是一个涉及的函数,其中一个参数是x.我希望能够在重复x时计算f而不实际重复它,因为它不适合内存.
重写f以处理重复的x将是有效的,我希望有一种聪明的方法可能将numpy数组子类化为此.
任何提示赞赏.
numpy ×4
python ×4
matplotlib ×2
scipy ×2
convolution ×1
ffmpeg ×1
fft ×1
keymapping ×1
macos ×1
nomachine-nx ×1
x264 ×1