分享一个批量MP4转JPG图片的工具

博主在深度学习训练需采集数据时,因网上缺乏好用的视频转图片工具,便基于Qt和ffmpeg开发了批量MP4转JPG图片的工具。文中介绍了使用背景,并给出了实现代码相关信息,还提供了FFmpeg的下载链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@分享一个批量MP4转JPG图片的工具

1. 使用背景

在进行深度学习训练的时候,经常需要采集自己的数据,如果一张一张采集,会很麻烦,如果直接用摄像头拍摄,是一个非常好的办法。但是找了网上,都没有好用的视屏转图片的工具,要么太大,要么在线的慢的要死,于是自己写了一个。基于:

  • Qt
  • ffmpeg
    软件截图如下:
    使用

2. 实现代码

#ifndef MAINWINDOW_H
#define MAINWINDOW_H


#include <QFileDialog>
#include <QMainWindow>


namespace Ui {
class MainWindow;
}


class MainWindow : public QMainWindow
{
    Q_OBJECT


public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();


private slots:
    void on_btnLoadVideo_clicked();


    void on_btnSetPath_clicked();


    void on_btnStartConvert_clicked();


private:
    Ui::MainWindow *ui;
    QString save_path;
    QStringList video_file_list;


};


#endif // MAINWINDOW_H

mainwindow.cpp

#include <QDebug>
#include <QProcess>
#include <QFileInfo>


#include "mainwindow.h"
#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setWindowTitle(tr("视屏转图片工具"));
}


MainWindow::~MainWindow()
{
    delete ui;
}


//导入视屏
void MainWindow::on_btnLoadVideo_clicked()
{
    video_file_list.clear();
    video_file_list = QFileDialog::getOpenFileNames(this, tr("选择视屏"), ".", "MP4(*.mp4)");
    qDebug()<<video_file_list;
}


//设置导出路径
void MainWindow::on_btnSetPath_clicked()
{
    save_path = QFileDialog::getExistingDirectory(this, tr("设置路径"), ".");
}


//开始转换
void MainWindow::on_btnStartConvert_clicked()
{
    QString path = QCoreApplication::applicationDirPath();
    qDebug()<<path;
    QProcess *proce = new QProcess();


    for(int i=0; i<video_file_list.length(); i++)
    {
        QStringList arg_list;
        arg_list<<"-i";
        arg_list<<video_file_list.at(i);
        arg_list<<"-r";
        arg_list<<ui->lineEdit->text();
        arg_list<<"-f";
        arg_list<<"image2";
        QString img_name = QFileInfo(video_file_list.at(i)).baseName();
        img_name = save_path + "/" + img_name + "-%05d.jpg";
        arg_list<<img_name;
        qDebug()<<img_name;
        proce->start(path+"/ffmpeg.exe", arg_list);
        proce->waitForFinished();
    }


    delete proce;
}

FFmpeg下载:http://ffmpeg.org/
选择ffmpeg.exe下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值