opencv图片合成视频提高视频清晰度参数
之前有做过图片合成视频的功能,大概代码就是这样,你可以看一下
/**
- 图片合成视频
- @param mp4SavePath 视频保存路径
- @param imageDir 图片地址
- @param rate 这个可以理解成视频每秒播放图片的数量
/
public static boolean jpgToMp4(String mp4SavePath, String imageDir, double rate) {
FFmpegFrameRecorder recorder = null;
boolean flag = true;
try {
File[] files = FileUtils.fileSort(imageDir);
int [] widthArray = new int[files.length];
int [] heightArray = new int[files.length];
/* - 获取合成视频图片的最大宽高,避免图片比例不一致最终合成效果差
/
for (int i = 0; i < files.length; i++) {
BufferedImage bufferedImage = ImageIO.read(files[i]);
widthArray[i] = bufferedImage.getWidth();
heightArray[i] = bufferedImage.getHeight();
}
/* - 这个方法主要是防止图片比例达不到视频合成比例的要求,如果达不到下面条件视频则会无法播放
- 图片宽:必须要被32整除
- 图片高:必须要被2整除
/
int [] maxWH = getImgMaxWH(widthArray,heightArray);
recorder = new FFmpegFrameRecorder(mp4SavePath,maxWH[0],maxWH[1]);
recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
/* - 视频质量:目前测试出来的是25-30最清晰,视频质量范围好像是0-40,具体可以自己慢慢测
/
recorder.setVideoQuality(25);
recorder.setFormat(“mp4”);
recorder.setFrameRate(rate > 0 ? rate : 1);
recorder.setPixelFormat(0);
recorder.start();
OpenCVFrameConverter.ToIplImage conveter = new OpenCVFrameConverter.ToIplImage();
/* - 合成视频
*/
for(int i = 0; i < files.length; i++ ){
opencv_core.IplImage image = cvLoadImage(files[i].getPath());
recorder.record(conveter.convert(image));
opencv_core.cvReleaseImage(image);
}
logger.info(“合成成功”);
} catch(Exception e) {
e.printStackTrace();
flag = false;
logger.error(“合成失败”);
} finally {
try {
if (recorder != null){
recorder.stop();
recorder.release();
}
} catch (FrameRecorder.Exception e) {
e.printStackTrace();
}
}
return flag;
}
opencv图片合成视频提高视频清晰度参数相关推荐
- Python + OpenCV 图片合成视频遇到的问题
Python + OpenCV 图片合成视频遇到的问题 其中cv2.VideoWriter 中的四个参数: 文件名 视频编码格式 帧率 视频的宽度和高度 注意:需要合成的视频和对应图片的宽度和高度要相 ...
- php视频降清晰度,如何提高视频清晰度 调节视频清晰度的方法推荐
来说说提高视频清晰度的方法,不管是网上下载的或者自己拍摄的有些视频,难免会遇到清晰度不够的情况,总感觉画面有层薄薄的模糊效果,这种情况有什么方法能后期处理调高视频清晰度呢?本次给大家找来一个好用的视频 ...
- MATLAB小技巧(9) 图片合成视频与视频分帧
MATLAB小技巧(9)图片合成视频与视频分帧 前言 一. MATLAB仿真-序列合成 二. MATLAB仿真-视频分帧 三. 小结 前言 MATLAB进行图像处理相关的学习是非常友好的,可以从零开始 ...
- FFmpeg 将图片合成视频 将视频导出图片 转换视频格式avi to mp4
FFmpeg FFmpeg将视频导出每一帧图片 #ffmpeg -r framerate -i input.mp4 -f image2 output001.jpg~output447.jpg ffmp ...
- OpenCV 图片合成视频
# -*- coding: UTF-8 -*-import os import cv2 import time import numpy as np # 图片合成视频 def picvideo(pat ...
- opencv图片转幻灯片视频
1 /*g++ *.cpp `pkg-config --cflags --libs opencv` -std=c++11*/ 2 3 #include <opencv2/opencv.hpp&g ...
- python+OpenCV 图片合成视频
''' opencv_机器学习-图片合成视频 实现步骤: 1.加载视频 2.读取视频的Info信息 3.通过parse方法完成数据的解析拿到单帧视频 4.imshow,imwrite展示和保存 ''' ...
- opencv 图片读取和视频读取(一)
环境搭建 一 图片读取 1代码 import cv2 as cv #读取图片 src=cv.imread('./yiner.jpg') #cv.WINDOW_AUTOSIZE 表示自动窗口 cv.na ...
- 图片合成视频,视频文件过大了,python 改变视频的码率, 压缩视频文件
from moviepy.editor import VideoFileClipa = VideoFileClip(r'E:\video\2023-01-30_13-38-58_res.mp4') # ...
最新文章
- 达摩院实现自动驾驶核心技术突破,达摩院首次实现3D物体检测精度与速度的兼得
- php对象魔术方法,php学习之类与对象的魔术方法的使用
- Caffe学习:pycaffe利用caffemodel进行分类=批处理
- 艾索特DSP电脑调音软件
- 七段式svpwm和5段式的区别_SVPWM实现概述
- android ios_如何在android中模拟ios preferredsbigtitles
- npm方法创建一个vue项目,引入element插件
- 语言模型(Language Modeling)”
- Excel:sumifs函数
- Debian/Linux查看group的账号列表
- 印象笔记,为知笔记和Effie哪个更适合商业机构提案人员?
- 关于未来计算机的英语作文,《 未来机器人》英语作文
- linux SVN安装及配置图解教程
- 将数组格式的字符串转换成数组
- 腾讯视频qlv获取办法
- 绝地求生国际服苹果版服务器维修,绝地求生国际服ios手机版
- Energy 收购 VDD Tech
- 相似视频搜索—Opera 的 Milvus 实践
- js 格式化 java时间格式化_JavaScript前台页面使用jsjava对后台传过来的日期进行格式化...
- 灰度图像中值滤波c语言编程,灰度图像中值滤波
热门文章
- 三星Flip4什么时候发布 三星Flip4配置如何
- 用计算机的拓展活动,团结合作,成功之基 ——记计算机科学学院户外素质拓展训练...
- 【ConfluxNews】2023.3.17 与离岸人民币 1:1 挂钩CNHC Group获1000万美元投资
- JavaScript属性的获取、设置和移除还有自定义属性
- Windows Update当前无法检查更新怎么办?
- 关于日常开发Java8流处理max()随笔
- android 智能家居 pdf,基于Android的智能家居控制系统的设计探究.pdf
- 深度报道:对日软件外包六大战术(转)
- 技术管理入门-目标设定
- linux python3安装proton_深度deepin系统中通过Lutris(wine、proton)运行逆水寒的方法...