用c语言写一个把图像二值化的代码
时间: 2024-05-13 17:15:48 浏览: 71
以下是一个简单的C语言代码,可以将图像二值化:
```c
#include <stdio.h>
int main()
{
// 假设图像大小为 10x10
int image[10][10] = {{0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,1,1,0,0,1,1,1,0},
{0,1,1,1,0,0,1,1,1,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,0},
{0,0,0,0,0,0,0,0,0,0}};
// 将图像二值化
for(int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
if(image[i][j] > 0) // 如果像素值大于0
{
image[i][j] = 1; // 则将像素值设为1
}
}
}
// 输出二值化后的图像
for(int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
printf("%d ", image[i][j]);
}
printf("\n");
}
return 0;
}
```
该代码的思路是将图像的每个像素点的像素值与0比较,如果大于0则将像素值设为1,否则设为0。这样就实现了图像的二值化。注意,这里假设图像大小为10x10,实际应用中需要根据具体情况进行修改。
阅读全文