高手请进,麻烦看一下我的数据格式转换有没有问题
搞了两天了,二值化一个灰度图仍然不成功.实在找不出代码错在什么地方了,估计是形成思维定势了.
程序如下,BinaryImage函数对图象进行二值化处理,threhold是阈值,ImageArray保存灰度图数据,定义如下:
BYTE** ImageArray;
程序运行后binarydata文件中的内容全为0.搞了两天了,还是这样,急求高手帮忙看看是不是其中数据格式的转换有问题,谢谢了
void CBarRecog::BinaryImage()
{
int threhold=128;
ofstream bifile("binarydata",ios_base::out); //打开输出文件
//未装载图像时不进行任何操作
if(ImageArray == NULL) //装载图象后ImageArray即变成了一个二维矩阵,存储灰度图象的灰度信息
return;
int i, j;
bifile < <"判决阈值threhold为" < <int(threhold) < <'\n';
for(i=0; i <ImageHeight; i++)
{
for(j=0; j <ImageWidth; j++)
{
if(int(ImageArray[i][j]) >= threhold) //threhold为判决阈值
ImageArray[i][j] = 1;
else
ImageArray[i][j] =0; //1为黑,0为白
bifile.width(3);
bifile < <int(ImageArray[i][j]);
}
bifile < <'\n';
}
bifile.close();
}