一. CPU实现和GPU实现
本实验基于的测试图像是8000*1000大小的8位灰度钢板图像,缩小倍数为0.5。
CPU上算法实现的核心代码
void func(BYTE*src, int width, int height, int pitchSrc, BYTE *dst, int t_width, int t_height, int pitchDes)
{
float fw = float(width)/ (t_width);
float fh = float(height)/ (t_height);
float x0, y0;
int y1, y2, x1, x2, x, y;
float fx1, fx2, fy1, fy2;
float s1,s2,s3,s4;
BYTEtemp,p11,p12,p21,p22;
BYTE *p1=dst;
for(y=0; y<t_height; y++)
{
y0 =y*fh;
y1 = int(y0);
if(y1 == height-1) y2 = y1;
else y2 = y1 + 1;
fy1 =y1-y0;
fy2 =1.0f - fy1;
for(x=0; x<t_width; x++)
{
x0= x*fw;
x1= int(x0);