图像处理实验报告书_1.docxVIP

  • 2
  • 0
  • 约6.87千字
  • 约 10页
  • 2018-08-28 发布于贵州
  • 举报
图像处理实验报告书_1

实验报告单 院(系)计算机学院专业计算机科学与技术班级 12计科4 姓名郝耀峰学号同组人无 实验室S4305 组号日期2015.3.19 课程数字图像处理指导老师鲁静成绩 实验项目编号 02 试验项目名称图像的几何变换(平移、镜像、缩放与旋转 一、实验目的 比较程序中的以下两个图像平移的函数: TranslationDIB1() - 图像平移 TranslationDIB() - 图像平移 解释他们在算法上有什么不同?(即将代码变回算法流程) 二、试验环境(仪器设备、软件等) Windows7 VC6.0 三、实验原理(或要求) 1.图像的平移 图像的平移非常简单,所用到的是中学学过的直角坐标系的平移变换公式:?? ?? X’= ?x +dx ?? y’= ?y + dy 注:(x,y)为源图像的坐标,(x’,y’)为新图像的坐标,dx对应x的偏移量,dy对应y的偏移量 2.图像的镜像 镜像分为水平镜像和垂直镜像?? 水平镜像计算公式如下(图像大小为M*N): x’?= x y’?= N-1-y? 垂直镜像计算公式为(图像大小为M*N): x’?= M-1?–x y’?= y???? 3.图像的旋转 图像的旋转计算公式如下: X’ = X *COS Q – Y *SIN Q?X’ = X *COS Q – Y *SIN Q?X’ = X *COS Q – Y *SIN Q?X’ = X *COS Q – Y *SIN Q Y’ = X *SIN Q + Y*COS Q 这个计算公式计算出的值为小数,而坐标值为正整数。要用插值处理。 这个计算公式计算的结果值所在范围与原来的值所在的范围不同。 ?若以(CX,CY)为中心,角度Q逆时针旋转。 X’ = (X – CX)*COS Q – (Y –?YC)*SIN Q + CX Y’ = (X – CX)*SIN Q + (Y –?YC)*COS Q + CY 注:(x,y)为源图像的坐标,(x’,y’)为新图像的坐标 4.图像缩放 n设原图像大小为M*N,缩小为k1M*k2N,(k11,k21)。算法步骤如下: n 1)设旧图像是F(i,j), i=1,2,…,M,?j=1,2,…,N. ???? 新图像是I(x,y),?x=1,2,…,k1M, y=1,2,…,k2N. 2)I(x,y)=F(c1*i,c2*j) c1=1/k1 c2=1/k2 这个计算公式计算出的值为小数,而坐标值为正整数。要用插值处理。 四、实验步骤 /************************************************************************* * * 函数名称: * TranslationDIB() * * 参数: * LPSTR lpDIBBits - 指向源DIB图像指针 * LONG lWidth - 源图像宽度(象素数) * LONG lHeight - 源图像高度(象素数) * LONG lXOffset - X轴平移量(象素数) * LONG lYOffset - Y轴平移量(象素数) * * 返回值: * BOOL - 平移成功返回TRUE,否则返回FALSE。 * * 说明: * 该函数用来水平移动DIB图像。函数不会改变图像的大小,移出的部分图像 * 将截去,空白部分用白色填充。 * ************************************************************************/ BOOL WINAPI TranslationDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight, LONG lXOffset, LONG lYOffset) { // 平移后剩余图像在源图像中的位置(矩形区域) CRect rectSrc; // 平移后剩余图像在新图像中的位置(矩形区域) CRect rectDst; // 指向源图像的指针 LPSTR lpSrc; // 指向要复制区域的指针 LPSTR lpDst; // 指向复制图像的指针 LPSTR lpNewDIBBits; HLOCAL hNewDIBBits; // 指明图像是否全部移去可视区间 BOOL bVisible; // 循环变量 LONG i; // 图像每行的字节数 LONG lLineBytes; // 计算图像每

文档评论(0)

1亿VIP精品文档

相关文档