From c4a7ce718061c7bac9617aec55b0017db04a449f Mon Sep 17 00:00:00 2001 From: pmfsq5yrv <1159971203@qq.com> Date: Fri, 6 Dec 2024 14:04:53 +0800 Subject: [PATCH 1/5] ADD file via upload --- yang/1.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 yang/1.txt diff --git a/yang/1.txt b/yang/1.txt new file mode 100644 index 0000000..e69de29 From a82df3de0bf6ad95d468220d6e46b535dd3a1af8 Mon Sep 17 00:00:00 2001 From: pmfsq5yrv <1159971203@qq.com> Date: Fri, 6 Dec 2024 14:05:50 +0800 Subject: [PATCH 2/5] ADD file via upload --- yang/1.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 yang/1.c diff --git a/yang/1.c b/yang/1.c new file mode 100644 index 0000000..b395548 --- /dev/null +++ b/yang/1.c @@ -0,0 +1,58 @@ +#include +#include + +void gaussianBlur(float src[5][5], float dst[5][5], int h, int w, float kernel[3][3]) { + int i,j, ki, kj; + for (i = 1; i < h - 1; i++) { + for (j = 1; j < w - 1; j++) { + float sum = 0.0; + for (ki = -1; ki <= 1; ki++) { + for (kj = -1; kj <= 1; kj++) { + sum += src[i + ki][j + kj] * kernel[ki + 1][kj + 1]; + } + } + dst[i][j] = sum; + } + } +} + +int main() { + float src[5][5] = { + {1, 2, 3, 4, 5}, + {6, 7, 8, 9, 10}, + {11, 12, 13, 14, 15}, + {16, 17, 18, 19, 20}, + {21, 22, 23, 24, 25} + }; + + float kernel[3][3] = { + {1 / 16.0, 2 / 16.0, 1 / 16.0}, + {2 / 16.0, 4 / 16.0, 2 / 16.0}, + {1 / 16.0, 2 / 16.0, 1 / 16.0} + }; + + int i, j; + float dst[5][5]; + for (i = 0; i < 5; i++){ + for (j = 0; j < 5; j++){ + dst[i][j] = 0.0; + } + } + + clock_t start, end; + start = clock(); + gaussianBlur(src, dst, 5, 5, kernel); + end = clock(); + double time = (double)(end - start) / CLOCKS_PER_SEC; + + printf("Dst matrix:\n"); + for (i = 0; i < 5; i++) { + for (j = 0; j < 5; j++) { + printf("%.2f ", dst[i][j]); + } + printf("\n"); + } + + printf("Time: %f s\n", time); + return 0; +} From 39fb1c83897f35bc2c969f8c4545c2257a4236c1 Mon Sep 17 00:00:00 2001 From: pmfsq5yrv <1159971203@qq.com> Date: Fri, 6 Dec 2024 14:06:05 +0800 Subject: [PATCH 3/5] ADD file via upload --- yang/2.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 yang/2.c diff --git a/yang/2.c b/yang/2.c new file mode 100644 index 0000000..5cdb302 --- /dev/null +++ b/yang/2.c @@ -0,0 +1,63 @@ +#include +#include + +const int h = 5, w = 5; +float kx[3] = {0.25f, 0.5f, 0.25f}; +float ky[3] = {0.25f, 0.5f, 0.25f}; + +void separableGaussianBlur(float src[h][w], float dst[h][w], int h, int w, float kx[3], float ky[3]) { + float buf[3][w]; + int x, y; + + #define BUF_INDEX(i) ((i) % 3) + + for(y = 0; y < h; ++y){ + for(x = 0; x < w; ++x){ + buf[BUF_INDEX(y)][x] = + src[y][x] * kx[1] + + (x > 0 ? src[y][x - 1] * kx[0] : 0) + + (x < w - 1 ? src[y][x + 1] * kx[2] : 0); + } + + if(y >= 2){ + for(x = 1; x < w - 1; ++x){ + dst[y - 1][x] = + buf[BUF_INDEX(y - 2)][x] * ky[0] + + buf[BUF_INDEX(y - 1)][x] * ky[1] + + buf[BUF_INDEX(y)][x] * ky[2]; + } + } + } +} + +int main() { + int i, j; + float dst[h][w]; + for(i = 0; i < h; i++){ + for (j = 0; j < w; j++){ + dst[i][j] = 0.0; + } + } + float src[5][5] = { + {1, 2, 3, 4, 5}, + {6, 7, 8, 9, 10}, + {11, 12, 13, 14, 15}, + {16, 17, 18, 19, 20}, + {21, 22, 23, 24, 25} + }; + + clock_t start, end; + start = clock(); + separableGaussianBlur(src, dst, h, w, kx, ky); + end = clock(); + + printf("Blurred result:\n"); + for(i = 0; i < h; i++){ + for(j = 0; j < w; j++){ + printf("%.2f ", dst[i][j]); + } + printf("\n"); + } + printf("Time: %f s\n", (float)(end - start) / CLOCKS_PER_SEC); + return 0; +} From 7c04ba25342e8cd5790aaa6a441ccd068f49c9e0 Mon Sep 17 00:00:00 2001 From: pmfsq5yrv <1159971203@qq.com> Date: Fri, 6 Dec 2024 14:06:16 +0800 Subject: [PATCH 4/5] ADD file via upload --- yang/3.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 yang/3.c diff --git a/yang/3.c b/yang/3.c new file mode 100644 index 0000000..e69de29 From 596bf57a63f732768b472964a601b2715b6af11d Mon Sep 17 00:00:00 2001 From: pmfsq5yrv <1159971203@qq.com> Date: Fri, 6 Dec 2024 14:06:25 +0800 Subject: [PATCH 5/5] Delete 'yang/1.txt' --- yang/1.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 yang/1.txt diff --git a/yang/1.txt b/yang/1.txt deleted file mode 100644 index e69de29..0000000