“窃听棒”视频发生器

get-stick-bugged-lol的Python项目详细描述


被棍子窃听了哈哈

一个Python模块和命令行工具,它生成 Get Stick Bugged Lol来自任何图像的视频。在

示例

gsbl python.jpg python.mp4 -r 760 475 -s 0.7

Example GIF

Example video with sound

此脚本使用pylsd-nova来检测图像中的线段, 枕头画线时,他们移动形成棍棒虫,和MoviePy创建视频。在

要求

  • Python3.6或更高版本(任何操作系统)

安装

此软件包可以使用pip安装:

^{pr2}$

使用

在终端

安装包将在终端中注册gsbl命令(或者您可以使用python -m gsbl)。使用 图像input.png生成视频output.mp4

gsbl input.png output.mp4

可选参数:

  • -h, --help显示此帮助消息并退出
  • -r --resolution WIDTH HEIGHT视频的宽度和高度(默认值:720 720)
  • --img-bg-color R G B图像可见时的RGB背景色(默认值:0 0 0)
  • --line-color R G B线段的RGB颜色(默认值:255 255 255 211)
  • --line-bg-color R G B图像消失后的RGB背景色(默认值:125 115 119)
  • -s --scale SCALE传递给线段检测器的图像比例。稍微降低此值可能会改善 大图像。这不会影响视频中的图像比例(请改为尝试--分辨率)。(默认值:0.8)

在Python脚本

fromPILimportImagefromgsbl.stick_bugimportStickBug# Create the StickBug objectsb=StickBug(Image.open('example.png'))# parameter can also just be a filepath# Change some properties if you wantsb.video_resolution=(1280,720)sb.lsd_scale=0.5# That's it! The video will be generated the first time you access itvideo=sb.video# MoviePy VideoClip# Or you can just save itsb.save_video('example.mp4')# If any settings were changed, the video will be regenerated the next time you access it.sb.line_color=(128,0,255)video_purple=sb.video

StickBug属性

  • image源PIL图像。您可以在初始化StickBug时设置此属性,也可以随时通过访问属性来设置。 如果需要,可以在初始化时将此参数留空。在

  • segments检测到的9个线段的numpy数组。如果线段检测器还没有运行,那么 第一次访问。如果其他属性发生变化,线段检测器将再次运行。这个罐子 如果需要,也可以手动设置。数组的每一行必须包含值[x1, y1, x2, y2, width]。在

  • video(只读)脚本生成的MoviePy视频剪辑。如果视频还没有生成,那就是 在第一次访问时完成。如果其他属性发生更改,将重新生成视频。在

  • video_resolution视频作为元组的分辨率

  • lsd_scale传递给线段检测器的图像比例。稍微降低这个值可能会在很大程度上改善结果 图像。这不会影响视频中的图像比例。在

  • img_bg_color图像可见时视频的背景色

  • line_color视频中线段的颜色

  • line_bg_color图像消失后视频的背景色

建筑

安装所需的软件包:

pip install -r requirements.txt

直接安装此程序包:

cd [path to repository]
pip install .

或者造一个轮子:

cd [path to repository]
python3 setup.py bdist_wheel

许可证

这个软件包在麻省理工学院的许可证下可用。有关详细信息,请参见LICENSE。在

此软件包使用以下外部库:

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在饼图的图例中只包含每个类别的长描述?   json Grails应用程序,可以从Java DAO服务访问数据库如何访问控制器中的服务?   java将大型远程数据库表同步到本地数据库表,该表包含字段“lastModificationTime”   java如何在JFrame中创建交互式地图   web服务如何创建异步Java Restlet web服务?   java开始读取特定字节   java在jTable中返回不带SQL的搜索结果(带DAOMock)   jakarta ee java ee MVC模式,模型和视图是否直接相互通信   当由负载平衡器处理时,java Spring引导CSRF失败   java为什么JavaMail连接超时太长   java IzPack需要从安装程序安装JDK/JRE版本   java如何创建一个只接受实现Iterable的元素的方法   java spring数据存储库无法使用idClass保存实体   java如何从列表中删除重复项?   java在SocketChannel中发送大量数据时,影响速度的因素有哪些?   算法分支和绑定错误:节点1无法转换为java。可比的   java使用邮件API从Swing应用程序创建Jar文件   java枚举与简单常量声明?