图像归一化c++ 代码
时间: 2023-10-18 07:14:54 浏览: 181
以下是一个简单的图像归一化C代码示例,它将图像中的每个像素值归一化到0到255之间:
```c
void normalizeImage(unsigned char *image, int width, int height) {
int i, j;
unsigned char minVal = 255, maxVal = 0;
// 找到最小和最大像素值
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
if (image[i*width + j] < minVal) {
minVal = image[i*width + j];
}
if (image[i*width + j] > maxVal) {
maxVal = image[i*width + j];
}
}
}
// 归一化图像
for (i = 0; i < height; i++) {
for (j = 0; j < width; j++) {
image[i*width + j] = (unsigned char)((image[i*width + j]-minVal)*255.0/(maxVal-minVal));
}
}
}
```
该函数需要传入一个指向图像数据的指针(以及图像的宽度和高度),并且通过遍历图像数据数组找到最小和最大像素值。然后,它将每个像素值归一化到0到255的范围内,并将结果存储回原始图像数据数组中。
阅读全文