我想在C程序中編寫一個PGM文件,但一旦寫入,如果我嘗試打開它來查看圖像,我被告知圖像文件格式可以'不確定。在C中編寫PGM文件不起作用
但是,如果我在geany中創建一個新文件,複製數據,然後保存THAT作爲一個新的PGM,它的工作原理。
任何想法,爲什麼這可能是?
FILE * grey = fopen("greyscale.pgm", "w");
fprintf(grey, "P2 \r\n%d %d \r\n255 \r\n", width, height);
for (i = 0; i < width; i++) {
for (j = 0; j < height; j++) {
fprintf(grey, "%d ", ((imageArray[i][j].red + imageArray[i][j].green + imageArray[i][j].blue)/3));
}
fprintf(grey, "\r\n");
}
我將彩色圖像轉換爲灰度。
這可能與您的PGM文件的標題可以添加一個創建PGM文件的代碼段 – pQB 2012-02-27 16:42:14
我將它有關 – Luke 2012-02-27 17:32:33
?。當你將RGB轉換成灰色時,1/3不是一個好的係數,試試'0.299R + 0.587G + 0.114B'這是一個普遍的公式 – Benoit 2012-02-28 09:05:35