#include<stdio.h>
#include<stdlib.h>
void main()
{
int i,j;
FILE *fp;
//指向文件的指针
fp=fopen("Lena.raw","rb");
//打开文件。注意raw格式图像要以只读二进制流的形式打开
if(!fp)
{
printf("ERROR!\n");
}
unsigned char *pData=new unsigned char[256*256]; //注意:raw图像用无符号char型读入
fread(pData,sizeof(unsigned char),(256*256),fp);
//fread具体用法见msdn
fclose(fp); //取消fp指针指向
int value[256]={0}; //声明并初始化存灰度值的数组
for(i=0;i<(256*256);i++) //统计灰度值
{
value[pData[i]]++;
}
printf("灰度值\t\t大小"); //
printf("\n");
fp=fopen("result.txt","wb");
fprintf(fp,"灰度值\t\t大小\r\n");//注意\r\n 否则不能换行!
for(j=0;j<256;j++)
//将结果输出到txt中
{
printf("%d\t\t%d\n",j,value[j]);
// fwrite(value,sizeof(int),256,fp);
fprintf(fp,"%d\t\t%d\r\n",j,value[j]);
//注意\r\n 否则不能换行
}
delete[] pData;//删除空间
fclose(fp); //关闭txt文件
}
后面是统计灰度值的,这是我转载的,希望可以帮到你