我试图将(双)的矩阵转换成一个无符号的字符,然后我可以写入一个.pmg文件...但它不工作。将double转换为unsigned char?
void writePNG(vector<double>& matrix)
{
vector<unsigned char> image;
ofstream myfile;
myfile.open("newFile.txt", ios::out); // writing to .txt file for now for testing.
if(!myfile.is_open())
{
cout << "Cannot open file";
}
for(int i=0; (i < 512*512); i++)
{
image[i] = (unsigned char) matrix[i];
}
myfile.close();
}
它不会转换数据。有任何想法吗??谢谢:)
到底是什么错误?是否有编译器错误?该文件是否为空(这肯定是这种情况,因为您不写任何内容)?有没有运行时错误? – alfa 2012-04-11 14:45:48
将声明更改为'vector图像(512 * 512);'。 –
2012-04-11 14:46:16
那么你看到的错误是什么?矩阵向量中值的范围是什么?例如。如果-1 ... 1,那么你需要首先缩放值。 – 2012-04-11 14:47:48