首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于c语言读图像并统计灰度直方图的有关问题!

2012-04-17 
关于c语言读图像并统计灰度直方图的问题!!!!求救~~~【急】#includestdio.h#includestdlib.h#includestr

关于c语言读图像并统计灰度直方图的问题!!!!求救~~~【急】
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define Width 576
#define Height 549
int value[256];
int Buffer[Width][Height];

void ReadDat()
{
FILE *fp;
memset(value,0,sizeof(value));

int i,j;
if((fp=fopen("E:\\1.raw","rt"))==NULL)
{
printf("Cannot open the file\n");
exit(0);
}
else
{
for(i=0;i<Width;i++)
for(j=0;j<Height;j++)
{
value[Buffer[i][j]]++;
}
}
//fclose(fp);

}


void WriteDat()
{
FILE *fp;
int i;
fp=fopen("result.txt","w");
printf("直方图统计结果:\n");
printf("灰度级\t频率\n");
for(i=0;i<256;i++)
{
printf("%d/t%f\n",i,value[i]);
}
//fclose(fp);
}

void main()
{

ReadDat();
WriteDat();
}


程序编译通过,但是执行的时候会有debug error 出现~~~~~求解释啊~~~~

[解决办法]

for(i=0;i<Width;i++)
for(j=0;j<Height;j++)
{
value[Buffer[i][j]]++;
}

[解决办法]
没看懂你的目的,打开文件,但是又不是使用?
还是你的程序只贴出来一部分?

不过单纯这句 value[Buffer[i][j]]++; 就有问题吧
Buffer[i][j] 的值 是啥?不会越界?
理论上他应该是图片的灰度值吧。
就是要小于256

热点排行