進(jìn)度控制:
#include <opencv\cv.h> #include <opencv\highgui.h> #include <opencv\cxcore.h> //記錄滾動(dòng)條的當(dāng)前位置 int g_slider_pos = 0; //滾動(dòng)條的回調(diào)函數(shù) 參數(shù)int pos 是指當(dāng)前滾動(dòng)條所在位置 void on_changed(int pos) { //輸出滾動(dòng)條當(dāng)前所在位置 printf("g_slider_pos is %d \n" , g_slider_pos); } int main(int argc, char* argv[]) { //創(chuàng)建一個(gè)窗口 cvNamedWindow("show"); //在窗口show上創(chuàng)建名字為Position的滾動(dòng)條 cvCreateTrackbar( "Position", "show", &g_slider_pos, 400, on_changed ); //顯示滾動(dòng)條 cvShowImage("show",NULL); //等待用戶按鍵 cvWaitKey(0); return 0; }
視頻化的進(jìn)度控制:
#include <opencv\cv.h> #include <opencv\highgui.h> #include <opencv\cxcore.h> //聲明一個(gè)CvCapture類型指針 用于接收cvCreateFileCapture的返回值 CvCapture* g_capture = NULL; //記錄滾動(dòng)條的當(dāng)前位置 int g_slider_pos = 0; //對(duì)視頻幀進(jìn)行計(jì)數(shù)的變量 int frame_count = 0; //滾動(dòng)條的回調(diào)函數(shù) 參數(shù)int pos 是指當(dāng)前滾動(dòng)條所在位置 void onTrackbarSlider(int pos) { //設(shè)置g_capture的屬性 使得 從位置pos開始播放視頻 cvSetCaptureProperty( g_capture, CV_CAP_PROP_POS_FRAMES, pos ); //在拉動(dòng)滾動(dòng)條后 保持變量frame_count與滾動(dòng)條的位置是同步的 frame_count = pos ; } int main(int argc, char* argv[]) { //創(chuàng)建一個(gè)窗口 cvNamedWindow("show"); //打開有一個(gè)視頻文件 g_capture = cvCreateFileCapture("C:\\Users\\zxl\\Desktop\\1.avi"); //獲取視頻的總幀數(shù) int frames = (int)cvGetCaptureProperty( g_capture, CV_CAP_PROP_FRAME_COUNT ); if(frames>0) { //在窗口show上創(chuàng)建名字為Position的滾動(dòng)條 cvCreateTrackbar( "Position", "show", &g_slider_pos, frames, onTrackbarSlider ); } //圖像指針變量 IplImage* frame; while(1) { //從g_capture獲取一幀圖像 填充到相應(yīng)的內(nèi)存緩沖區(qū) frame = cvQueryFrame(g_capture); //如果到視頻結(jié)尾 則退出循環(huán) if(!frame) { break; } //顯示圖像 cvShowImage("show",frame); //接收用戶按鍵 char c = cvWaitKey(33); //如果接收到 按鍵'Esc' 則退出循環(huán) if(c==27) { break; } //滾動(dòng)條 隨著視頻的播放 進(jìn)行移動(dòng) cvSetTrackbarPos("Position","show", frame_count); frame_count++; } //釋放資源 cvReleaseCapture(&g_capture); cvDestroyWindow("show"); return 0; }
?
?
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
