c语言实现修改图像大小
时间: 2023-06-02 12:02:27 浏览: 168
以下是一个简单的C语言程序,用于调整图像大小:
```
#include <stdio.h>
#include <stdlib.h>
// 原图像大小
#define SRC_WIDTH 640
#define SRC_HEIGHT 480
// 新图像大小
#define NEW_WIDTH 320
#define NEW_HEIGHT 240
int main() {
int src[SRC_WIDTH][SRC_HEIGHT];
int new[NEW_WIDTH][NEW_HEIGHT];
// 读取原图像数据
FILE *fp = fopen("input.raw", "rb");
fread(src, sizeof(int), SRC_WIDTH * SRC_HEIGHT, fp);
fclose(fp);
// 对原图像进行缩放
for (int i = 0; i < NEW_WIDTH; i++) {
for (int j = 0; j < NEW_HEIGHT; j++) {
int x = i * SRC_WIDTH / NEW_WIDTH;
int y = j * SRC_HEIGHT / NEW_HEIGHT;
new[i][j] = src[x][y];
}
}
// 将新图像数据写入文件
fp = fopen("output.raw", "wb");
fwrite(new, sizeof(int), NEW_WIDTH * NEW_HEIGHT, fp);
fclose(fp);
return 0;
}
```
该程序读取名为“input.raw”的原始图像文件,并将其缩放为指定的大小(320x240),然后将缩放后的图像数据写入名为“output.raw”的文件中。在此示例中,我们假设图像是一个灰度图像,每个像素用一个32位整数表示。如果您的图像格式不同,请相应地修改程序。