999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

視頻播放設備播放控制系統

2015-07-10 22:04:22曾昭紅
卷宗 2015年1期
關鍵詞:控制系統

曾昭紅

摘 要:近些年來,數字技術發展迅猛,數字影視隨之快速發展。其中,視頻播放設備的播放控制系統的作用十分關鍵。本文將以OpenCV設備播放視頻的控制系統為例,主要就視頻播放設備播放控制系統展開研究。

關鍵詞:OpenCV設備;視頻播放;控制;系統

1 使用OpenCV設備播放視頻的控制系統

使用OpenCV播放視頻,幾乎與使用它來顯示圖像一樣容易。播放視頻時只需要處理的新問題就是如何循環地順序讀取視頻中的每一幀,以及如何從枯燥的電影視頻的讀取中退出該循環操作。具體如例1所示。

例1:下列簡單的OpenCV程序,用于播放硬盤中的視頻文件。

#include “highgui.h”int main ( int argc, char** argv ) { cvNamedWindow ( “Example2”, CV_WINDOW_AUTOSIZE );CvCapture* capture = cvCreateFileCapture ( argv[1] );IplImage* frame;while ( 1 ) { frame = cvQueryFrame ( capture );if ( !frame ) break;cvShowImage ( “Example2”, frame );char c = cvWaitKey ( 33 );if ( c == 27 ) break; } cvReleaseCapture ( &capture ); cvDestroyWindow ( “Example2” ); }

這里我們還是通過前面的方法創建一個命名窗口,在"例2"中,事情變得更加有趣了。

CvCapture* capture = cvCreateFileCapture ( argv[1] );

函數cvCreateFileCapture ( )通過參數設置確定要讀入的AVI文件,返回一個指向CvCapture結構的指針。這個結構包括了所有關于要讀入AVI文件的信息,其中包含狀態信息。在調用這個函數后,返回指針所指向的CvCapture結構被初始化到所對應AVI文件的開頭。

frame = cvQueryFrame ( capture );

一旦進入while ( 1 )循環,我們便開始讀入AVI文件,cvQueryFrame的參數為CvCapture結構的指針。用來將下一幀視頻文件載入內存 ( 實際是填充或更新CvCapture結構中 )。返回一個對應當前幀的指針。與cvLoadImage不同的是,cvLoadImage為圖像分配內存空間,而cvQueryFrame使用已經在cvCapture結構中分配好的內存。這樣的話,就沒有必要通過cvReleaseImage ( )對這個返回的圖像指針進行釋放,當CvCapture結構被釋放后,每一幀圖像所對應的內存空間即會被釋放。

c = cvWaitKey ( 33 ); if ( c == 27 ) break;

當前幀被顯示后,我們會等待33 ms。 [11]如果其間用戶觸發了一個按鍵,c會被設置成這個按鍵的ASCII碼,否則,c會被設置成-1。如果用戶觸發了ESC鍵 ( ASCII 27 ),循環被退出,讀入視頻停止。否則33 ms以后繼續執行循環。

需要指出的是,在這個簡單的例子程序中,我們沒有使用任何準確的方法來控制視頻幀率。我們只是簡單的通過cvWaitKey來以固定時間間隔載入幀圖像,在一個精度要求更高的程序中,通過從CvCapture結構體中讀取實際幀率是一個更好的方法!

cvReleaseCapture ( &capture );

例1所實現的AVI播放器無法在視頻播放時進行快速拖動。我們的下一個任務就是通過加入一個滾動條來實現這個功能。

我們通過調用cvCreateTrackbar ( )來創建一個滾動條,并且通過設置參數確定滾動條所屬于的窗口。為了獲得所需的功能,只需要提供一個回調函數。具體如例2所示.

例2:用來添加滾動條到基本瀏覽窗口的程序:拖動滾動條,函數onTrackSlide ( )便被調用并被傳入滾動條新的狀態值

#include “cv.h”#include “highgui.h”int g_slider_position = 0;CvCapture*g_capture= NULL;void onTrackbarSlide ( int pos ) { cvSetCaptureProperty ( g_capture,CV_CAP_PROP_POS_FRAMES,pos ); } int main ( int argc, char** argv ) { cvNamedWindow ( “Example3”, CV_WINDOW_AUTOSIZE );g_capture = cvCreateFileCapture ( argv[1] );int frames = ( int ) cvGetCaptureProperty ( g_capture,CV_CAP_PROP_FRAME_COUNT );if ( frames!= 0 ) { cvCreateTrackbar ( “Position”,”Example3”,&g_slider_position,frames,onTrackbarSlide ); } IplImage* frame;// While loop ( as in Example 2 ) capture & show video ... // Release memory and destroy window...return ( 0 ); }

從本質上說,這種方法是通過添加一個全局變量來表示滾動條位置并且添加一個回調函數更新變量以及重新設置視頻讀入位置。我們通過一個調用來創建滾動條和確定回調函數 。下面讓我們看看細節。

int gslider_position = 0; CvCapture* g_capture = NULL;

首先為滾動條位置定義一個全局變量。由于回調函數需要使用CvCapture對象,因此我們將它定義為全局變量。為了使我們的程序可讀性更強,我們在所有全局變量名稱前面加上g_。

void on Trackbar Slide ( int pos ) { cvSetCaptureProperty ( g_capture, CV_CAP_PROP_POS_FRAMES,pos );

現在我們定義一個回調函數,使其在滾動條被拖動時調用。滾動條的位置會被作為一個32位整數以參數形式傳入。

值得注意的是,通過HighGUI創建的滾動條不像其他工具提供的滾動條功能這么全面。當然,也可以使用自己喜歡的其他窗口開發工具包來代替HighGUI,但是HighGUI可以較快地實現一些基本功能。

2 結束語

本文研究使用OpenCV設備播放視頻的控制系統,旨在闡述視頻播放控制系統的設計與實現,重在參考。

參考文獻

[1]朱國華;數字放映設備常見故障處理[J];現代電影技術;2010,(01).

[2] 王建華;視頻播放設備中的K系數指標的測量及應用[J];中國有線電視;2014, ( 19 ).

[3] 李相軍;騰訊QLV視頻如何移動播放[J];電腦愛好者;2013, ( 07 ).

猜你喜歡
控制系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于工程項目成本管理的分析
社會轉型期行政權控制的路徑探索
科技視界(2016年21期)2016-10-17 17:06:18
淺析應收賬款的產生原因和對策
商(2016年27期)2016-10-17 05:41:05
會計預算控制現狀及方法
主站蜘蛛池模板: 亚洲天堂网站在线| 波多野结衣中文字幕一区二区| 伊人激情综合| 免费 国产 无码久久久| 久久人与动人物A级毛片| 91免费片| 国产成人区在线观看视频| AV无码一区二区三区四区| 亚洲国产精品无码久久一线| 国产精品尹人在线观看| 无码电影在线观看| 国产av一码二码三码无码| 成年免费在线观看| 久久精品无码一区二区日韩免费| 亚洲最新地址| 亚洲国产成人久久精品软件 | 男女精品视频| 欧美日韩精品一区二区在线线| 麻豆国产精品| 日韩av无码精品专区| 国产成人久久综合777777麻豆| 97超爽成人免费视频在线播放| 国产91精品最新在线播放| 人妻21p大胆| 中文字幕人成乱码熟女免费| 国产97色在线| 国产AV无码专区亚洲精品网站| 亚洲水蜜桃久久综合网站| 国产91av在线| 中文字幕日韩丝袜一区| 在线观看国产精品第一区免费| 亚洲成人黄色在线观看| 国产无套粉嫩白浆| 54pao国产成人免费视频| 国产菊爆视频在线观看| 日韩不卡免费视频| 亚洲第一精品福利| 国产精品视频系列专区| 114级毛片免费观看| 性欧美久久| 成人免费黄色小视频| 精品无码一区二区在线观看| 久久激情影院| 亚洲三级视频在线观看| 欧美黄色a| 亚洲成人在线网| 久久鸭综合久久国产| 亚洲一区二区日韩欧美gif| 国产亚洲欧美日韩在线一区二区三区| 国产无码精品在线播放| 国产成人综合在线观看| 国产福利小视频在线播放观看| 亚洲三级色| 久久久成年黄色视频| 久久人搡人人玩人妻精品一| 国产美女主播一级成人毛片| 在线免费观看AV| 国内丰满少妇猛烈精品播| 亚洲国产精品久久久久秋霞影院| 精品久久综合1区2区3区激情| 日本不卡在线| 超碰免费91| 99激情网| 自拍偷拍欧美日韩| 免费看黄片一区二区三区| 色综合色国产热无码一| 在线国产你懂的| 中文成人在线| 亚洲天堂777| 国产无码精品在线| 亚洲有无码中文网| 久久国产热| 亚洲无线国产观看| 久久特级毛片| 中文字幕不卡免费高清视频| 毛片大全免费观看| 精品久久久久成人码免费动漫| 亚洲Aⅴ无码专区在线观看q| 久久综合激情网| 99久久精品免费看国产免费软件| 国产精品55夜色66夜色| 中文字幕第4页|