smooth.c
来自「卡耐基SSD6全部选择题和练习题解决方法。」· C语言 代码 · 共 50 行
C
50 行
#include <stdio.h>
#include <stdlib.h>
#include "defs.h"
#include "cache.h"
/* Here is an our naive implementation */
char smooth_descr[] = "SMOOTH: Naive Row-wise Traversal of src";
void smooth(int dim, pixel *src, pixel *dst) {
int i, j;
for(j=0; j<dim; j++) {
for(i=0; i<dim; i++) {
if(j == 0 || j == dim-1)
{
COPY(&dst[PIXEL(i,j,dim)], &src[PIXEL(i,j,dim)]);
}
else{
if(i==0 || i == dim-1)
{
COPY(&dst[PIXEL(i,j,dim)], &src[PIXEL(i,j,dim)]);
}
else
SMOOTH(&dst[PIXEL(j,i,dim)],
&src[PIXEL(j,i,dim)],
&src[PIXEL(j-1,i,dim)],
&src[PIXEL(j+1,i,dim)],
&src[PIXEL(j,i+1,dim)],
&src[PIXEL(j,i-1,dim)],
&src[PIXEL(j-1,i-1,dim)],
&src[PIXEL(j+1,i+1,dim)],
&src[PIXEL(j-1,i+1,dim)],
&src[PIXEL(j+1,i-1,dim)]);
}
}
}
return;
}
/* Add additional functions to test here */
void register_smooth_functions() {
add_smooth_function(&smooth, smooth_descr);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?