<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文將介紹基於OpenCV實現視訊的迴圈播放。
有以下三個步驟:
視訊總幀數:CAP_PROP_FRAME_COUNT
設定當前的幀:CAP_PROP_POS_FRAMES
VideoCaptureProperties通用屬性識別符號參考地址。
import cv2 cap = cv2.VideoCapture("001.mp4") frame_counter = 0 while (cap.isOpened()): ret, frame = cap.read() frame_counter += 1 if frame_counter == int(cap.get(cv2.CAP_PROP_FRAME_COUNT)): frame_counter = 0 cap.set(cv2.CAP_PROP_POS_FRAMES, 0) cv2.imshow("frame", frame) key = cv2.waitKey(1) # ESC if key == 27: break cap.release() cv2.destroyAllWindows()
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp> int main() { cv::Mat frame; cv::VideoCapture cap("001.mp4"); int frame_counter = 0; while (true) { cap >> frame; if (!frame.data) { printf("Image not loaded"); return -1; } frame_counter += 1; if (frame_counter == int(cap.get(cv::CAP_PROP_FRAME_COUNT))){ frame_counter = 0; cap.set(cv::CAP_PROP_POS_FRAMES, 0); } cv::imshow("demo", frame); char(key)=(char)cv::waitKey(1); if(key==27) break; } return 0; }
當然,OpenCV不僅能實現視訊的迴圈播放,還能實現視訊的倒放
下面將用C語言實現視訊的倒放,以下是範例程式碼
#include <stdio.h> #include<math.h> #include <cv.h> #include <highgui.h> int main(int argc, char* argv[]) {undefined int i = 0, j = 0, k = 0; cvNamedWindow("Example3", CV_WINDOW_AUTOSIZE); CvCapture* capture = 0; capture = cvCreateFileCapture("gr18.avi"); if (!capture) {undefined return -1; } IplImage *out = cvQueryFrame(capture);//Init the video read //用於確定幀數 while ((out = cvQueryFrame(capture)) != NULL) {undefined k++; } cvReleaseCapture(&capture); capture = cvCreateFileCapture("gr18.avi"); out = cvQueryFrame(capture);//沒有它J會多一幀。 double fps = cvGetCaptureProperty( capture, CV_CAP_PROP_FPS ); CvSize size = cvSize( (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH), (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT) ); CvVideoWriter *writer = cvCreateVideoWriter( "gr13.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, size , 1 ); IplImage* logpolar_frame = cvCreateImage( size, IPL_DEPTH_8U, 3 ); //out = cvCloneImage(img); int booll = 1; while ((out = cvQueryFrame(capture)) != NULL) {undefined i = 0; j++;; booll = 0; if (j == k)//用於從第J幀開始寫入 {undefined cvShowImage("Example3", out); cvWaitKey(1); cvWriteFrame(writer, out); k--; j = 0; //重複初始化 capture = cvCreateFileCapture("gr18.avi"); out = cvQueryFrame(capture); } //j++; if (k == 0)break; } printf("||%d %d", k, j); getchar(); cvReleaseVideoWriter(&writer); cvReleaseImage(&logpolar_frame); cvReleaseCapture(&capture); //cvReleaseCapture(&capture); cvDestroyWindow("Example3"); return(0); }
到此這篇關於基於OpenCV實現視訊迴圈播放的文章就介紹到這了,更多相關OpenCV視訊播放內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45