当前位置: 首页> 科技> 互联网 > 永久无限免费看的app_新乡百度关键词优化外包_便宜的seo官网优化_简述网站内容如何优化

永久无限免费看的app_新乡百度关键词优化外包_便宜的seo官网优化_简述网站内容如何优化

时间:2025/7/11 12:13:01来源:https://blog.csdn.net/weixin_46336208/article/details/144227116 浏览次数:0次
永久无限免费看的app_新乡百度关键词优化外包_便宜的seo官网优化_简述网站内容如何优化

最近发现有一个需求,就是将大量图片转化为视频MP4,然后动手写一个脚本完成这个需求,记录下。

我们需要创建一个可视化界面,允许用户选择文件夹,选择文件夹后获取其中的图片,并将这些图片转换为MP4格式的视频。最终生成的视频将保存到根目录下。

下面是一个完整的解决方案,使用PyQt5实现可视化界面,OpenCV库用于处理图像和视频转换。

import os
import cv2
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLineEdit, QFileDialog, QLabel
from PyQt5.QtCore import Qtclass ImageToVideoApp(QWidget):def __init__(self):super().__init__()# 初始化界面元素self.setWindowTitle('图片转视频工具')self.setGeometry(100, 100, 400, 200)self.layout = QVBoxLayout()# 创建选择文件夹按钮self.folder_button = QPushButton('选择文件夹', self)self.folder_button.clicked.connect(self.select_folder)# 创建显示选择的文件夹路径的框self.path_display = QLineEdit(self)self.path_display.setPlaceholderText('选择文件夹后显示路径...')self.path_display.setReadOnly(True)# 创建合成按钮self.combine_button = QPushButton('一键合成视频', self)self.combine_button.clicked.connect(self.combine_images_to_video)# 创建信息标签self.info_label = QLabel('', self)# 添加控件到布局self.layout.addWidget(self.folder_button)self.layout.addWidget(self.path_display)self.layout.addWidget(self.combine_button)self.layout.addWidget(self.info_label)# 设置布局self.setLayout(self.layout)def select_folder(self):folder = QFileDialog.getExistingDirectory(self, '选择文件夹')if folder:self.path_display.setText(folder)def combine_images_to_video(self):folder_path = self.path_display.text()if not folder_path or not os.path.isdir(folder_path):self.info_label.setText('请选择有效的文件夹!')return# 获取文件夹中的图片文件images = [f for f in os.listdir(folder_path) if f.lower().endswith(('png', 'jpg', 'jpeg', 'bmp', 'gif'))]images.sort()  # 排序,确保图片按顺序合成视频if not images:self.info_label.setText('该文件夹中没有图片!')return# 获取第一张图片的尺寸来设置视频的分辨率first_image = cv2.imread(os.path.join(folder_path, images[0]))height, width, _ = first_image.shape# 输出视频路径:将视频保存为同一文件夹中的 'output_video.mp4'video_path = os.path.join(folder_path, "output_video.mp4")# 使用OpenCV创建视频写入对象fourcc = cv2.VideoWriter_fourcc(*'mp4v')  # 编码方式video_writer = cv2.VideoWriter(video_path, fourcc, 1, (width, height))  # 每秒1帧# 将每张图片写入视频for image_file in images:image_path = os.path.join(folder_path, image_file)image = cv2.imread(image_path)video_writer.write(image)video_writer.release()  # 释放视频写入对象self.info_label.setText(f'视频已成功生成!保存路径: {video_path}')if __name__ == '__main__':app = QApplication(sys.argv)window = ImageToVideoApp()window.show()sys.exit(app.exec_())

代码解析:

  1. 窗口界面:我们使用PyQt5创建了一个窗口。

  2. 选择文件夹:点击选择文件夹按钮时,打开文件夹选择对话框,选定文件夹后,路径显示框会显示选中的路径。

  3. 图片合成视频:点击一键合成按钮时,程序会:

    • 获取文件夹中的所有图片。
    • 使用OpenCV将这些图片按顺序合成一个视频,并将其保存在根目录下,命名为output_video.mp4
    • 视频使用MP4编码格式。
  4. 视频生成

    • cv2.VideoWriter用于创建一个视频文件,设置视频的编码格式、帧率和分辨率(根据第一张图片的尺寸)。
    • video_writer.write(image)用于将每一张图片写入视频。

依赖库安装:

需要安装PyQt5OpenCV,使用以下命令安装:

pip install pyqt5 opencv-python

 运行效果:

  1. 运行程序后,点击“选择文件夹”按钮,选择包含图片的文件夹。
  2. 点击“一键合成视频”按钮,程序会将文件夹中的图片合成视频,保存为MP4格式到用户根目录下。

小结下:

介绍了如何使用 Python 中的 PyQt5OpenCV 库,实现一个图形化界面工具,将文件夹中的图片转化为 MP4 格式的视频。

 

关键字:永久无限免费看的app_新乡百度关键词优化外包_便宜的seo官网优化_简述网站内容如何优化

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: