全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1009
推到 Plurk!
推到 Facebook!

要如何寫取得某一個影像檔的程式

尚未結案
terence_lee
初階會員


發表:62
回覆:82
積分:28
註冊:2004-07-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-27 17:21:27 IP:61.221.xxx.xxx 未訂閱
各位大大們好: 小弟想要寫一個程式是能分析某一個影像檔的畫面頻率(每秒幾個Frame) 及畫面大小(例如320x420),請問要如何著手嗎? 感謝大大們提點
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-28 01:01:31 IP:220.130.xxx.xxx 未訂閱
terence_lee: 小弟是用directshow來做到的.
IGraphBuilder   *pGraph = NULL;
IBasicVideo     *pBasicVideo = NULL;
void __fastcall TForm1::InitDS()
{
  CoInitialize(NULL);
  CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
        IID_IGraphBuilder, (void **)&pGraph); 
  pGraph->QueryInterface(IID_IBasicVideo,(void **)&pBasicVideo);
}
void __fastcall TForm1::GetVideo()
{ 
 WideString sFileName;//你的錄影檔
  int iWidth,iHeight;//畫面大小
  int FPS;//Frame by sec
 REFTIME pAvgTimePerFrame;
 pGraph->RenderFile(sFileName,NULL);
 pBasicVideo->GetVideoSize(&lWidth,&lHeight);
  pBasicVideo->get_AvgTimePerFrame(&pAvgTimePerFrame);
  Fps = (1 / pAvgTimePerFrame);
}
terence_lee
初階會員


發表:62
回覆:82
積分:28
註冊:2004-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-28 08:36:01 IP:61.221.xxx.xxx 未訂閱
謝謝大大的指點...小弟這就來試一下...
terence_lee
初階會員


發表:62
回覆:82
積分:28
註冊:2004-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-31 16:39:55 IP:61.221.xxx.xxx 未訂閱
李國維大大您好: 想請問為什麼wmv.asf 的檔案沒有pAvgTimePerFrame 的值嗎?還有可以取得Source 聲音的頻率嗎?例如 : 44Hz 等,謝謝大大的回應
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-31 19:22:20 IP:220.130.xxx.xxx 未訂閱
terence_lee: 請參考 http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/htm/ibasicvideosetsourceposition.asp 因為小弟是讀AVI檔案所以之前的Code是可行.至於asf小弟就沒試過了.
terence_lee
初階會員


發表:62
回覆:82
積分:28
註冊:2004-07-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-02-01 12:33:25 IP:211.74.xxx.xxx 未訂閱
謝謝大大提供資料^_^
系統時間:2024-05-17 11:21:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!