用c语言写一个二值图腐蚀程序
时间: 2023-09-08 09:12:12 浏览: 67
二值图腐蚀是一种常见的图像处理技术,可以用来去除图像中的噪声或者细小的物体。下面是一个简单的用C语言实现二值图腐蚀的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#define WIDTH 10
#define HEIGHT 10
void print_image(int image[][WIDTH]) {
int i, j;
for (i = 0; i < HEIGHT; i++) {
for (j = 0; j < WIDTH; j++) {
printf("%d ", image[i][j]);
}
printf("\n");
}
}
void erode(int image[][WIDTH]) {
int i, j;
int temp[HEIGHT][WIDTH] = {0};
for (i = 1; i < HEIGHT - 1; i++) {
for (j = 1; j < WIDTH - 1; j++) {
if (image[i][j] == 1 &&
image[i - 1][j] == 1 &&
image[i + 1][j] == 1 &&
image[i][j - 1] == 1 &&
image[i][j + 1] == 1) {
temp[i][j] = 1;
}
}
}
for (i = 0; i < HEIGHT; i++) {
for (j = 0; j < WIDTH; j++) {
image[i][j] = temp[i][j];
}
}
}
int main() {
int image[HEIGHT][WIDTH] = {
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
};
printf("Original Image:\n");
print_image(image);
erode(image);
printf("Eroded Image:\n");
print_image(image);
return 0;
}
```
在这个程序中,我们定义了一个10x10的二值图像,其中1表示前景像素,0表示背景像素。我们首先打印出原始图像,然后使用erode函数来进行腐蚀操作。腐蚀操作的原理是,对于每个前景像素,只有当它周围的所有像素都是前景像素时,它才会保留下来。我们使用一个临时数组来保存腐蚀后的图像,最后再将结果复制回原始数组中。最后,我们再次打印出腐蚀后的图像。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)