实验报告模板范文.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告模板范文    篇一:实验报告模板 ?    图像分析与计算机视觉实践报告 ?    课题:专业: ?    班级:姓名: ?    一、实验目的 ?    了解图像平移旋转和缩放的原理,通过VisualC++实现图像的平移旋转和缩放。 ?    二、实验理论说明 ?    图像平移: ?    设(X0,Y0)是原图像的一点,图像的水平平移量为Tx,垂直平 ?    ?X1?X0?Tx移量为Ty,平移后的坐标为(X1,Y1),平移后的坐标变为?,Y1?Y0?Ty? ?    ?100??。010用矩阵表示为:?X1Y11???X0Y01??????TxTy1?? ?    图像缩放: ?    图像缩放是指图像的大小按照指定的比率放大或缩小。假设图像x轴方向的缩放比率Sx,y轴方向的缩放比率Sy,相应的变换表达式为: ?    ?Sx00????X0*SxY0*Sy1??X1Y11???X0Y01??0Sy0????001?? ?    图像旋转: ?    旋转一般是指将图像围绕某一指定点旋转一定的角度。 ?    设原图像的坐标为P0(X0,Y0),绕原点逆时针旋转角度θ到点P1(X1,Y1),旋转公式为: ?    ?cos? ?    ?X1Y11???X0Y01????sin? ?    ??0sin?cos?00?0??。 ?    1?? ?    三、实验主要程序 ?    平移代码: ?    voidCImageProcessingView::OnJhbhPy() ?    { ?    if(numPicture==0){ ?    AfxMessageBox(载入图片后才能空间平移!,MB_OK,0); ?    return; ?    } ?    //定义采样对话框也是用来空间变换平移的坐标 ?    CImagePYDlgdlg; ?    if(dlg.DoModal()==IDOK)//显示对话框 ?    { ?    //采样坐标最初为图片的自身像素 ?    if(dlg.m_xPYm_nWidth||dlg.m_yPYm_nHeight){ ?    AfxMessageBox(图片平移不能为超过原图长宽!,MB_OK,0); ?    return; ?    } ?    AfxMessageBox(图片空间变换-平移!,MB_OK,0); ?    //打开临时的图片读写文件 ?    FILE*fpo=fopen(BmpName,rb); ?    FILE*fpw=fopen(BmpNameLin,wb+); ?    fread(bfh,sizeof(BITMAPFILEHEADER),1,fpo); ?    fread(bih,sizeof(BITMAPINFOHEADER),1,fpo); ?    fwrite(bfh,sizeof(BITMAPFILEHEADER),1,fpw); ?    fwrite(bih,sizeof(BITMAPINFOHEADER),1,fpw); ?    fread(m_pImage,m_nImage,1,fpo); ?    unsignedchar*ImageSize; ?    ImageSize=newunsignedchar[m_nImage];//new和delete有效的进行动态内存的分配和释放 ?    intPlace;//建立临时坐标记录起始坐标(0,0)平移过来的位置 ?    intm_pImagePlace;//原始图像平移为(0,0)图像把它平移到Place位置unsignedcharblack;//填充黑色=0 ?    Place=dlg.m_yPY*m_nWidth*3;//前m_yPY行都要填充为黑色black=0;//颜色为黑色 ?    m_pImagePlace=0;//图像处事位置为(0,0),把该点像素平移过去intcountWidth=0;//记录每行的像素个数,满行时变回0 ?    intnumber=0;//数字记录使用的像素行数,平移时使用 ?    for(inti=0;i ?    { ?    /*如果每行的像素填满时清为0*/ ?    }}if(countWidth==m_nWidth*3){countWidth=0;}/*第一部分:到平移后像素位置前面的所有像素点赋值为黑色*/if(i=PlacecountWidth=Plac

文档评论(0)

177****8759 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档