- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
视音频信号处理实验3
浙江理工大学
《视音频信号处理》
实验报告
2012~2013学年第一学期
学 院 信息学院 班 级 10数媒(1)班 姓 名 黄芳 学 号 任课教师 马文娟
(上课时间:周三1-2节)
数字媒体技术专业
2012年 12 月
《视音频信号处理》实 验 报 告
学号: 姓名:黄芳 班级:10数媒1班
一、实验名称
视频数据处理
二、实验内容
1、 请编写图像矩阵产生程序,具体要求为:
a) 共产生两个图像矩阵A[256][256],和B[256][256]
b) 图像矩阵中的点A(I,j) = i*256+j,B(I,j) = i*256+j,;
c) 特别地,当25=i25+16, 20=j20+16, A(i,j) = i - 20;
d) 特别地,当32=i32+16, 16=j16+16, B(i,j) = i - 27;
e) 把两幅图像显示出来。
2、以题1中得到的图像数据基础上,以图像A为参考帧,请用三步搜索方法计算图像B中16*16图像块MBlock(32,16)的运动矢量。
三、实验步骤
1、编写图像矩阵产生程序
主要代码:
hfView.cpp
void CHfView::OnDraw(CDC* pDC)
{
CHfDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
char A[256][256],B[256][256];
int j;
FILE *fa, *fb;
CDC * dc;
dc=GetDC();
for(int i=0;i256;i++)//生成2个图像矩阵A和B,并把两幅图像显示出来
{
for(j=0; j256;j++)
{
if((i41i=25)(j36j=20))
{A[i][j]=i-20;
dc-SetPixel(i,j,i-20);}
else
{A[i][j]=i*256+j;
dc-SetPixel(i,j,i*256+j);}
if((i48i=32)(j32j=16))
{B[i][j]=i-27;
dc-SetPixel(i+300,j,i-27);}
else
{B[i][j]=i*256+j;
dc-SetPixel(i+300,j,i*256+j);}
}
}
//把生成的像素矩阵存入A.raw和B.raw文件中
if(!(fa=fopen(A.raw,wb)))
printf(error to open A.raw\n);
if(!(fb=fopen(B.raw,wb)))
printf(error to open B.raw\n);
fwrite(A,sizeof(A),1,fa);
fwrite(B,sizeof(B),1,fb);
fclose(fa);
fclose(fb);
}
结果:
2、以题1中得到的图像数据基础上,以图像A为参考帧,请用三步搜索方法计算图像B中16*16图像块MBlock(32,16)的运动矢量。
代码:
#includestdio.h
#includestdlib.h
struct Block{
public:
int x,y;
char Array[16][16];
};
int SAD(Block Block1,Block Block2){
int i=0,j=0,sad=0;
for(i=0;i16;i++)
for(j=0;j16;j++)
sad+=abs(Block2.Array[i][j]-Block1.Array[i][j]);
return sad;
}
Block GetBlock(int x,int y,char tmp[256][256])
{
int i,j;
Block Blocktmp;
Blocktmp.x=x;
Blocktmp.y=y;
for(i=0;i16;i++)
for(j=0;j16;j++)
Blocktmp.Array[i][j]=tmp[i+x][j+y];
return Blocktmp;
}
void ThreeStepSearch(int x,int y,Block Block1,char A[256][256],char B[256][256]){
int sad=9999999,temp,flag=0;
int a,b;
int c=x,d=y;
int a0,a1,b0,b1;
Block Block2;
Block2=GetBl
您可能关注的文档
- 规避残损人民币兑换风险论文.doc
- 规避法律风险成就HR法务专家《人力资源法务师》.doc
- 规避误区慎选防晒霜谨防越防晒越变黑.docx
- 觅渡,觅渡,渡何处文章解读.doc
- 规避阴超检查误区.doc
- 视光专家解密配镜误区.doc
- 视力和近视度数有什么关系.doc
- 视力恢复97-2003文档.doc
- 视力和视力检测共章.doc
- 视力恢复奇穴明眼穴.doc
- 注册验船师高频真题题库2025.docx
- 注册验船师高频题库带解析2025.docx
- 注册验船师考试必备资料2025.docx
- 注册验船师精选题库带分析2025.docx
- 注册验船师考前冲刺必刷题附答案2025.docx
- 新高考生物二轮复习讲练测第10讲 人体的稳态与免疫调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第13讲 生物技术与工程(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第7讲 遗传的基本规律与伴性遗传(检测)(原卷版) .docx
- 新高考生物二轮复习讲练测第13讲 生物技术与工程(检测)(原卷版).docx
文档评论(0)