定义了一个结构体Image
typedef struct tagImage
{
int height;
int width;
double scale;
double **pic;
double **mag;
double **ori;
}Image;
然后把图像读入,得到了BITMAPFILEHEADER和BITMAPINFOHEADER,已经取出了各个像素的R,G,B值,现在想把每个像素的灰度值读入到Image结构体的pic成员中,本来想这样读进去:
FILE *pf = fopen("RGB.dat","w");
fprintf(pf,"图像灰度信息");
fputc('\n',pf);
for (int i=0; i < height; i++)
for (int j = 0; j <width; j++)
{//写入文件
long pos = i * width + j;
fprintf(pf,"pos%d = %d",pos,dataOfBmp[pos].rgbBlue);
fputc('\n',pf);
//保存到pic中
pic[i][j] = dataOfBmp[pos].rgbBlue;
}
//结束写入RGB的文件
fclose(pf);但是读进去后在显示pic中的元素全是0.但是dataOfBmp[pos].rgbBlue的值正确。
这如何解决啊?
typedef struct tagImage
{
int height;
int width;
double scale;
double **pic;
double **mag;
double **ori;
}Image;
然后把图像读入,得到了BITMAPFILEHEADER和BITMAPINFOHEADER,已经取出了各个像素的R,G,B值,现在想把每个像素的灰度值读入到Image结构体的pic成员中,本来想这样读进去:
FILE *pf = fopen("RGB.dat","w");
fprintf(pf,"图像灰度信息");
fputc('\n',pf);
for (int i=0; i < height; i++)
for (int j = 0; j <width; j++)
{//写入文件
long pos = i * width + j;
fprintf(pf,"pos%d = %d",pos,dataOfBmp[pos].rgbBlue);
fputc('\n',pf);
//保存到pic中
pic[i][j] = dataOfBmp[pos].rgbBlue;
}
//结束写入RGB的文件
fclose(pf);但是读进去后在显示pic中的元素全是0.但是dataOfBmp[pos].rgbBlue的值正确。
这如何解决啊?
解决方案 »
- 大家帮我看看,这个程序有什么问题,老是报错
- 谁能做出这难题.....我就服他.
- 一个关于dll调用的问题,高手来
- 怎么用API实现画板里边的工具条?
- 一个关于OnTimer()的常见的小问题
- WIN32中使用CDialogExt的问题
- 怎样把数字字符串转换成无符号数吗?如"1234"转换成无符号整数1234
- 请问如何过滤非法字符呢?我在vc里执行Sql语句时,由于我引入输入的变量到Sql里,所以一旦输入的变量中有“'”等符号后,程序就出错了,H
- vc10用了第三方库后如何打包
- (C程序爱好者)VC的编程(win3.1),
- 这样有危险?
- 为什么新手上手win32或者MFC的时候都要学绘图基础???
这样试试
struct ...
{...
double *pic;
...
}
用
pic=new double[BITINFOHEADER.biWidth][BITINFOHEADER.biHeight];
后面不变
pic=new double pic[BITINFOHEADER.biWidth][BITINFOHEADER.biHeight];
delete pic;