基于numpy的多媒体图书馆
numm的Python项目详细描述
#毫米
对于熟悉python或matlab的程序员来说 玩弄周围的声音和图像;对于艺术家、设计师来说, 以及寻求对数字系统更深入理解的作曲家 这是现代媒体制作的基础。
Numm是一个极简主义的媒体库,可以翻译流行的声音, 图像和视频格式。通过强制输入 进入通用模式(如采样率、位深),组合和变异 这些numpy阵列被大大简化了。
这些功能的一般策略是做出任何假设 一个数字数组提供足够的 用于重建媒体文件的信息 其他元数据。例如,宽度和高度包含在 数组的维数,所以它们可能是不同的图像, 但是framerate、samplerate和c不是数据固有的,因此 除非明确规定,否则应统一。
在从图像到数组的转换中,主 注意分辨率(wxh)和模式(rgb、rgba、8bit、16bit, &(amp;C)。我们选择不提供任何特殊的API来重新采样 图像–如果需要,可以使用numpy完成此操作–并始终返回8bit RGB缓冲区。
图像2NP(路径) np2图像(np,路径)
对于音频,我们选择强制所有输入到44100Hz立体声。
SOUND2NP(路径) NP2声音(NP,路径)
视频是每秒30帧的wxhx3数组数组。正方形像素 假设。
视频2NP(路径) NP2视频(NP,路径)
注意,特别是在视频的情况下,这些numpy缓冲区将 需要相当多的内存;相应地进行预处理(如 ffmpeg)。我们还应该在ram时引发notenoughmemory异常 不会占用我们的缓冲区。
live接口由numpy.run.run()提供,该函数具有 只是一些输入输出控制,通过函数进行通信 经过。
##要求
- PyGst
- PIL
推荐:
- OpenCV
##许可证
版权所有(C)2011,Dafydd Harries<;daf@numm.org>; 版权所有(C)2011,Robert Ochshorn<;rmo@numm.org>;
此程序是免费软件:您可以重新分发和/或修改 根据由 自由软件基金会,许可证的第3版,或者 你的选择)任何更高版本。
这个程序的发布是希望它会有用,但是 没有任何保证;甚至没有 适销性或适合某一特定目的的适销性。看GNU 一般公共许可证了解更多详细信息。
你应该收到GNU通用公共许可证的副本 还有这个节目。如果没有,请参见<;http://www.gnu.org/licenses/>;。