範文齋

位置:首頁 > 行業範文 > 多媒體

多媒體實驗報告模板

多媒體2.23W

篇一:多媒體實驗報告

多媒體實驗報告模板

本科實驗報告

課程名稱:

實驗地點:

專業班級: 學號:

學生姓名:

指導教師

20xx年12月6日

太原理工大學學生實驗報告

太原理工大學學生實驗報告

篇二:《多媒體:概念與方法》實驗報告模板-實驗5

天津理工大學實驗報告

學院(系)名稱:計算機與通信工程學院

三、系統設計與開發步驟

1、多媒體應用系統主題:[比如,世界盃足球比賽]

2、知識結構:[主要介紹所選主題展示的內容,可用圖表說明] 3、主要界面的設計:[用Visio繪製主要界面的設計簡圖] 4、開發工具:[素材處理工具、多媒體創作工具]

5、主要開發步驟:[如前面的4個實驗一樣,寫出主要的操作步驟] (1)素材採集與處理

(2)多媒體應用系統開發 (重點寫此內容) 知識結構

設計界面

? 素材

? 建立空白文

? 菜單欄中選擇Modify—File—Properties,設置窗口屬性及作品名稱

? 加入背景

? 製作交互按鈕 ,

? 利用畫圖 定做 按鈕

? 按鈕製作

(1)雙擊按鈕,點Cursor改變響應的鼠標按鈕。

篇三:多媒體技術實驗報告一

多媒體技術實驗報告一

一、 實驗題目和目的

攝像頭捕捉視頻和靜止圖像

實驗目的:熟悉和掌握使用Windows API 進行編程的基本原理和方法。熟悉各種不同的視頻文件格式。

二、 實驗要求

基本要求:利用windows api實現簡單的視頻捕捉功能 Bonus:連續捕捉靜止圖像

提示:使用winxp版本可以考慮採用vfw(video for windows)來實現,使用win7版本可以考慮採用directshow來實現,使用win8版本可以考慮採用Media Foundation或directshow來實現。

三、 實驗內容

設計一個程序,有界面,可以調用攝像頭進行視頻捕捉並保存成文件。可以進行開始暫停。可以進行捕捉每一幀的畫面並通過畫圖文件保存。

1、創建一個基於對話框的工程,如VideoPlay。

2、在對話框上添加相應的按鈕,實現如動態捕捉、播放、連續捕捉等項功能。可考慮添加滑動條(slider 控件)用來反映目前的播放位置,等等。

3、爲各個按鈕添加相應的函數。

4、調試,運行。

四、 實驗平臺

實驗硬件:個人PC機,攝像頭

實驗軟件:VS2013,攝像頭驅動程序,VFW開發包 實驗平臺:windows

五、 實驗原理

Video for Windows 是WIN32 SDK 中多媒體編程SDK 的視頻開發工具。在微軟的Visual C++中提供了Video for Windows 的頭文件vfw.h 和庫文件。

六、 實驗過程

1、用Visual C ++的AppWizard 生成一個基於對話框的應用程序,並在StdAfx.h 中加入以下內容:

#include < vfw.h >

#pragma comment(lib,"")

2、修改對話框資源,添加靜態控制IDC_VIDEO 和按鈕“捕捉”、“停止”、“設置格式”、“設置圖像源”、“設置壓縮”、“單幀捕獲”、“定幀”、“退出”。(其實最重要的是“設置格式”、“設置圖像源”、“設置壓

縮”、“單幀捕獲”、“退出”,其它可以將其設置成

不可見,同時也可將其保留,以便將來擴展其功能時可用。)

3、在對話框的頭文件中加入以下說明。

HWND m_hCapWnd;// 預示窗口

BOOL m_bInit;// 捕捉器初始化

CAPDRIVERCAPS m_CapDrvCap;// CAPDRIVERCAPS 結構,定義驅動器性能 CAPSTATUS m_CapStatus;// CAPSTATUS 結構,定義捕捉窗口當前狀態 CAPTUREPARMS m_Parms;// CAPTURE PARMS 結構,定義捕捉參數 CString m_CapFileName;// 捕捉文件名稱

4、在對話框類的OnInitDialog() 函數中加入捕捉器初始化以及連接驅動器。

m_bInit=FALSE;

CWnd *pWnd=AfxGetMainWnd() ->GetDlgItem(IDC_VIDEO); // 得到預示窗口指針

CRect rect;

pWnd ->GetWindowRect( &rect); // 得到窗口大小

m_hCapWnd=capCreateCaptureWindow((LPTSTR)TEXT(" 視頻捕捉測試程序 "),WS_CHILD|WS_VISIBLE|WS_EX_CLIENTEDGE|WS_EX_DLGMODALFRAME,0,0,h(),

th(),pWnd ->GetSafeHwnd(),0); // 設置預示窗口

ASSERT(m_hCapWnd);

if(capDriverConnect(m_hCapWnd,0)){// 連接第0 號驅動器

m_bInit=TRUE;

// 得到驅動器的性能

capDriverGetCaps(m_hCapWnd,sizeof(CAPDRIVERCAPS), &

m_CapDrvCap);

if(m_tureInitialized){

// 如果初始化成功

capGetStatus(m_hCapWnd, &m_CapStatus,sizeof(m_CapStatus)); // 得到驅動器狀態

capPreviewRate(m_hCapWnd,30); // 設置預示幀頻

capPreview(m_hCapWnd,TRUE); // 設置預示方式

}

else{// 初始化未成功

AfxMessageBox("視頻捕捉卡初始化失敗!");

AfxGetMainWnd() ->PostMessage (WM_CLOSE);

}

}

else{// 未能連接到驅動器

AfxMessageBox("與視頻捕捉卡連接失敗!");

AfxGetMainWnd() ->PostMessage(WM_CLOSE);

}

m_CapFileName="c:";// 設置捕獲文件

capFileSetCaptureFile(m_hCapWnd,m_uffer(255));

5、在對話框類中加入響應“設置格式”消息的函數OnFormat()。 capDlgVideoFormat(m_hCapWnd);// 設置格式對話框

6、在對話框類中加入響應“設置圖像源”消息的函數OnSource()。 capDlgVideoSource(m_hCapWnd);// 設置圖像源對話框

7、在對話框類中加入響應“設置壓縮”消息的函數OnCompress()。 capDlgVideoCompression(m_hCapWnd);// 設置壓縮對話框

8、在對話框類中加入響應“捕捉”消息的函數OnCapture()。

capCaptureGetSetup(m_hCapWnd, &m_Parms,sizeof(m_Parms));// 得到設置參數

if(capCaptureSetSetup(m_hCapWnd,

&m_Parms,sizeof(m_Parms))==TRUE){

BOOL suc=TRUE;

suc=capCaptureSequence(m_hCapWnd); // 捕捉到文件

return suc};

else

return FALSE;

注意點:在VideoCaptureDlg.h 中把afx_msg void OnCapture();改爲afx_msg BOOL OnCapture();

在 修改爲BOOL CVideoCaptureDlg::OnCapture() //捕捉

9、在對話框類中加入響應“定幀”消息的函數OnFreezed()。 capPreview(m_hCapWnd,FALSE);// 定幀

10、在對話框類中加入響應“單幀捕獲”消息的函數OnImage()。 capGrabFrameNoStop(m_hCapWnd);// 截獲當前圖像

capEditCopy(m_hCapWnd);// 將圖像拷貝到剪貼板

11、在對話框類中加入響應“停止”消息的函數OnStop()。

capCaptureStop(m_hCapWnd);// 停止捕捉

12、在對話框類中加入響應“退出”消息的函數OnExit()退出前斷開捕捉器與驅動器的連接,並關閉窗

口。

capDriverDisconnect(m_hCapWnd);

CDialog::OnCancel();

附加說明:以上添加的'按鈕用於捕捉圖像(button);

另外添加(Static Text)用於創建並設置捕獲窗口;

保存圖像的方法:點擊“單幀捕獲”——>打開附近裏的“畫

圖”——>“編輯”中的“粘貼”——>即可保存

捕捉的位圖。

以上方法主要是採用了VFW 的函數和宏,也可以嘗試用消息的方法,同樣也可以實現。

如:SendMessage (hWndC, WM_CAP_DRIVER_CONNECT, 0, 0L);//用於連接設備

要做的就是根據相關的功能改變相應的參數就可以了

七、 實驗結果

八、 實驗總結