多媒体技术PS3-实验报告

实验四   Photoshop 的高级操作(1)

学号  201113522  姓名   徐青青 专业  信息管理与信息系统  成绩                

【实验目的

掌握图像的路径操作及应用(路径描边,路径选取);掌握图像的文字操作及应用(文字编辑,变形文字);能独立运用路径和文字工具,完成一个图像作品。

【实验内容】

1、掌握图像的路径操作及应用(路径描边,路径选取);

2、掌握图像的文字操作及应用(文字编辑,变形文字);

3、独立运用路径和文字工具,完成一个图像作品。

【实验步骤】

一,新建白色背景,打开此图片,用移动工具将图片拖到白色背景上,然后用剪裁工具剪取带白边的合适大小的部分,保存为图片形式;

二,新建背景,用吸管工具给背景添加蓝色前景色,打开刚才的图片,用移动工具将图片拖到蓝色背景上,同样剪裁合适大小的带有蓝色边的图片,应用;

三,选择画笔工具,笔尖形状选择圆,合适大小,合适间距,选择颜色,沿着第二步裁好的图片的蓝白边上移动,形成如图所示的效果;

四,使用字体工具,给邮票加上“500分”“中国邮政”字样,调整大小,位置至合适。

五,保存,完成邮票制作。

【实验结果】

     举例:

       

   

【实验心得和体会】

通过制作邮票的练习,我掌握了图像的路径操作及应用,掌握了图像的文字操作及应用,比如:文字编辑和变形文字,并独立运用路径和文字工具,完成一个图像作品,极大地激发了我对ps学习的热情。

 

第二篇:多媒体技术实验报告一

多媒体技术实验报告一

一、      实验题目和目的

摄像头捕捉视频和静止图像

实验目的:熟悉和掌握使用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 和库文件vfw32.lib。

六、      实验过程

1、用Visual C ++的AppWizard 生成一个基于对话框的应用程序,并在StdAfx.h 中加入以下内容:

#include < vfw.h >

#pragma comment(lib,"vfw32.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,rect.Width(),rect.Wid

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_CapDrvCap.fCaptureInitialized){

// 如果初始化成功

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:\\Capture.avi";// 设置捕获文件

capFileSetCaptureFile(m_hCapWnd,m_CapFileName.GetBuffer(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();

在VideoCaptureDlg.cpp 修改为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);//用于连接设备

要做的就是根据相关的功能改变相应的参数就可以了

七、        实验结果

八、        实验总结

相关推荐