亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Opencv讀取視頻一閃而過情況分析

系統 1682 0

在參加一個軟件比賽需要用opencv對視頻的處理,也碰到了一些問題。

最常見的就是視頻一閃而過了,在網上查了好久都沒解決,

最后重裝在配置環境變量時發現的。

現在我來終結一下估計是比較全的了。

先說明我用的是vs2012+opencv(2.4.8),c++編程;

關于配置就不說了網上很多

代碼如下:

?

      #include"highgui.h"

#include"cv.h"



//聲明一個CvCapture類型指針 用于接收cvCreateFileCapture的返回值

CvCapture* g_capture = NULL;

//記錄滾動條的當前位置

int g_slider_pos = 0 ;

//對視頻幀進行計數的變量

int frame_count = 0;



//滾動條的回調函數 參數int pos 是指當前滾動條所在位置

void on_changed(int pos)

{

//設置g_capture的屬性 使得 從位置pos開始播放視頻

cvSetCaptureProperty(g_capture,CV_CAP_PROP_POS_FRAMES,pos);

//在拉動滾動條后 保持變量frame_count與滾動條的位置是同步的 

frame_count = pos ;

}



int main(int argc,char* argv[])

{

//創建一個窗口 

cvNamedWindow( "show");

//打開有一個視頻文件

g_capture=cvCreateFileCapture("D:\\car.mp4");

//獲取視頻的總幀數

int frames=(int )cvGetCaptureProperty(g_capture,CV_CAP_PROP_FRAME_COUNT);



if(frames>0)

{

//在窗口show上創建名字為Position的滾動條

cvCreateTrackbar( "Position","show" ,&g_slider_pos,frames,on_changed);

} 



//圖像指針變量

IplImage* frame;



while(1)

{

//從g_capture獲取一幀圖像 填充到相應的內存緩沖區

frame=cvQueryFrame(g_capture);

//如果到視頻結尾 則退出循環

if(!frame) break ;

//顯示圖像

cvShowImage( "show",frame);

//接收用戶按鍵

char c = cvWaitKey(33);

//如果接收到 按鍵'Esc' 則退出循環

if(c==27)

break;

//滾動條 隨著視頻的播放 進行移動

cvSetTrackbarPos( "Position","show" ,frame_count);

frame_count++;

}

//釋放資源

cvReleaseCapture(&g_capture);

cvDestroyWindow( "show");

return 0;

}


    

1.網上很多說是avi格式問題, 盡管是AVI文件, 需要把它轉換OpenCV支持的AVI文件.

(這是copy網上的)

OpenCV支持的AVI如下:

Container

FourCC

Name

Description

AVI

'DIB '

RGB(A)

Uncompressed RGB, 24 or 32 bit

AVI

'I420'

RAW I420

Uncompressed YUV, 4:2:0 chroma subsampled

AVI

'IYUV'

RAW I420

identical to I420

轉換格式解決方法:

解決方法1: 下載mencoder.exe , 在window命令行下使用:?mencoder in.avi -ovc raw -vf format=i420 -o out.avi

解決方法2: 下載VitualDub , 我使用1.9.4版本a. File->Open Video File;b. Video->Filters->Add->Convert format;

選擇4:2:0 Planar YCbCr (YV12)或者 32-Bit RGB。c. Save as AVI. 保存完畢。”

還有網上說opencv只支持avi格式至少我現在用的2.4.8還能支持MP4格式了,還跑得不錯。

2.最后就是在配置環境變量時path路徑一定要看清楚是否寫對,

Opencv讀取視頻一閃而過情況分析

否則同樣的代碼和視頻文件在別人電腦上跑得好好的就你的有問題,可能就是這個問題了。

好了這是我寫的第一篇博客,寫的不好多多見諒!!!

?

Opencv讀取視頻一閃而過情況分析


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品动漫一区二区三区在线 | 欧美色综合高清免费 | 日韩久久影院 | 亚洲视频国产精品 | 丁香婷婷影音先锋5566 | 日韩美女强理论片 | 另类 欧美 视频二区 | 激情影院费观看 | 男人天堂视频网 | 久操视频免费在线观看 | 免费视频国产 | 四虎国产精品永久地址99 | 亚洲精品国产一区二区 | 亚洲精品国产高清不卡在线 | 国产免费变态视频网址网站 | 亚洲欧美成人中文在线网站 | 国产a自拍| 欧美3区 | jizzjizz成熟丰满老妇 | 好好的日com欧美 | 国产精品99久久久久久宅男 | 国产一区二区免费在线 | 亚洲免费播放 | 国产精品美女免费视频大全 | 四虎影视最新2019百度 | 午夜探花在线观看 | 久久久久久久久久综合情日本 | 午夜久久久精品 | 天天色天天射天天干 | 亚洲波多野结衣日韩在线 | 日本免费不卡视频 | 一级特黄aaa大片在 一级特黄aaa大片在线观看 | 欧美三级一区二区 | 欧美日韩国产58香蕉在线视频 | 成人毛片免费观看视频 | 中国一级特黄高清免费的大片 | 99久久99久久精品 | 精品国产欧美一区二区最新 | 日日摸夜夜摸狠狠摸97 | 亚洲国产视频在线 | 亚洲国产日韩欧美一区二区三区 |