自适应短视频源码php下载,短视频源码phpopencv读取本地视频, 并保存视频帧

【实例简介】源码在docx文档中,只有片段代码,仅供参考学习

【实例截图】

【核心代码】

#include

#include

#include

#include

#include

#include

using namespace std;

using namespace cv;

int main() {

const char save_dir[256] = "pics/";

if (access(save_dir, 0) == -1) {

cout << "目录不存在, 创建目录" << endl;

mkdir(save_dir, S_IRUSR | S_IWUSR | S_IXUSR | S_IRWXG | S_IRWXO);

}

VideoCapture cap;

Mat frame;

frame = cap.open("../output.mp4");

if(!cap.isOpened()){

printf("cat open \n");

return -1;

}

int frame_count = 0;

int save_count = 0;

while (cap.read(frame) and save_count < 10){

frame_count = 1;

if(frame_count % 30 == 0){

string save_name = save_dir to_string(save_count) ".jpg";

imwrite(save_name, frame);

save_count = 1;

}

}

return 0;

}

import os.path as osp

import os

import cv2

if __name__ == '__main__':

save_dir = 'pics'

if not osp.exists(save_dir):

print('目录不存在, 创建目录')

os.mkdir(save_dir)

video_cap = cv2.VideoCapture('../output.mp4')

fps = video_cap.get(cv2.CAP_PROP_FPS)

width = video_cap.get(cv2.CAP_PROP_FRAME_WIDTH) # video width

height = video_cap.get(cv2.CAP_PROP_FRAME_HEIGHT) # video height

frame_number = video_cap.get(7) # number of frames

duration = int(frame_number // fps)

frame_count = 0

save_count = 0

while True and save_count < 10:

frame_count = 1

ret, frame = video_cap.read()

if ret is False:

break

if frame_count % 30 == 0:

save_name = osp.join(save_dir, str(save_count) '.jpg')

cv2.imwrite(save_name, frame)

save_count = 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值