中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在java中利用OpenCV從視頻文件中獲取幀

發布時間:2021-02-19 15:59:34 來源:億速云 閱讀:432 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關如何在java中利用OpenCV從視頻文件中獲取幀,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

實驗代碼

import com.googlecode.javacv.cpp.opencv_highgui;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
import org.opencv.highgui.VideoCapture;
/**
* Created by fang on 17-4-6.
* 實現每播放一秒視頻就截取一張圖片保存到本地的操作
* 沒有使用ffmpeg,則只能讀取avi格式視頻
* 下載google javcv.jar
* sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
* sudo apt-get update
* sudo apt-get install ffmpeg
* /home/fang/BigDataSoft/opencv-2.4.13/3rdparty/ffmpeg中有opencv_ffmpeg_64.dll文件
* 不能解析視頻,提示moov atom not found 是文件有錯
*/
public class GetFrameFormVideo {
public static void main(String[] args) {
// System.out.println("Welcome to OpenCV " + Core.VERSION);
// System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// Mat m = Mat.eye(3, 3, CvType.CV_8UC1);
// System.out.println("m = " + m.dump());
//加載本地的OpenCV庫,這樣就可以用它來調用Java API
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
run2();
}
public static void run2() {
//讀取視頻文件
VideoCapture cap = new VideoCapture("/home/fang/Downloads/src_11.mp4");
System.out.println(cap.isOpened());
//判斷視頻是否打開
if (cap.isOpened()) {
//總幀數
double frameCount = cap.get(opencv_highgui.CV_CAP_PROP_FRAME_COUNT);
System.out.println("視頻總幀數:"+frameCount);
//幀率
double fps = cap.get(opencv_highgui.CV_CAP_PROP_FPS);
System.out.println("視頻幀率"+fps);
//時間長度
double len = frameCount / fps;
System.out.println("視頻總時長:"+len);
Double d_s = new Double(len);
System.out.println(d_s.intValue());
Mat frame = new Mat();
for (int i = 0; i < d_s.intValue(); i++) {
//設置視頻的位置(單位:毫秒)
cap.set(opencv_highgui.CV_CAP_PROP_POS_MSEC, i * 1000);
//讀取下一幀畫面
if (cap.read(frame)) {
System.out.println("正在保存");
//保存畫面到本地目錄
Highgui.imwrite("/home/fang/images/" + i + ".jpg", frame);
}
}
//關閉視頻文件
cap.release();
}
}
}

看完上述內容,你們對如何在java中利用OpenCV從視頻文件中獲取幀有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

木兰县| 汾阳市| 漳平市| 翁源县| 新蔡县| 凉城县| 九江县| 吴忠市| 林口县| 长汀县| 石首市| 陆丰市| 西吉县| 汉中市| 石景山区| 南宫市| 卢湾区| 浦东新区| 南汇区| 祁门县| 同江市| 穆棱市| 乌鲁木齐县| 古蔺县| 洪湖市| 通榆县| 望都县| 武功县| 嘉善县| 乌鲁木齐市| 布尔津县| 峨眉山市| 乐昌市| 清原| 宜黄县| 峨山| 嘉荫县| 大竹县| 南和县| 泊头市| 建平县|