用c++写一段生成图像灰度直方图的代码
时间: 2023-02-25 11:11:33 浏览: 102
以下是一段生成图像灰度直方图的 C 代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_GRAY_LEVEL 256
int main()
{
int i, j, k;
int histogram[MAX_GRAY_LEVEL];
int width, height;
unsigned char image[100][100];
// 初始化直方图数组
for (i = 0; i < MAX_GRAY_LEVEL; i++) {
histogram[i] = 0;
}
// 假设图像宽度和高度已经读入
width = 100;
height = 100;
// 假设图像数据已经读入到 image 数组中
// 这里只是模拟了读入数据的过程
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
image[i][j] = rand() % 256;
}
}
// 统计每个灰度值的数量
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
histogram[image[i][j]]++;
}
}
// 输出直方图数组
for (i = 0; i < MAX_GRAY_LEVEL; i++) {
printf("%d ", histogram[i]);
}
return 0;
}
```
这仅仅是一个简单的代码示例,不包含任何读入图像的代码,你需要自己实现读入图像的部分。
阅读全文