第六章数字图像的放大缩小及旋转LOGO6
1缩放数字图像的实现方法表6
11122224056776633表6
21111222211112222222244002222440055667777556677776666333366663333LOGO6
1缩放数字图像的实现方法放大2倍后,图像边长增加了2倍,图像面积则增加4倍,由于图像面积可以用图像像素总数表示,所以,图像像素总数应该是原图像的4倍
因此,原图像中每一个像素被复制成4个像素放到新的放大图像中,就是图像放大2倍的方法LOGO6
1缩放数字图像的实现方法image[i][j]—>newimage[i*y][j*y](6-1)newimage[i][j]=image[i/y][j/y](6-2)LOGO6
1缩放数字图像的实现方法图6
2式(6-1)导致错误的缩放结果LOGO6
2缩放和旋转的编程实训设新点邻近的四个点像素值分别为为pa,pb,pc,pd,y=(int)floor(i*h/(double)h1);x=(int)floor(j*w/(double)w1);则:pa=image[y][x];pb=image[y][x+1];pc=image[y+1][x];pd=image[y+1][x+1];LOGOdoublecx(与右邻点的x坐标之差)doublecy(与下邻点的y坐标之差)cx=1-j*w%w1/(double)w1;cy=1-i*h%h1/(double)h1;则由插值公式得目标图像的像素值为:image[i][j]=(int)(cx*cy*pa+cy*(1-cx)*pb+(1-cy)*cx*pc+(1-cx)*(1-cy)*pd+0
整数优化(减少浮点运算)LOGO习题六可以将数字图像缩小后保存,使用时再放大吗
为什么不能使用式(6