c語言讀取.ppm影象檔案,讀取的是每乙個畫素點的r、g、b的之0——255之間
在寫讀取程式時遇到好多問題,比如型別轉換問題最是頭疼,資料量特別大,開始讀出的資料
可能有好大一部分為0,導致誤認為讀取錯誤,本人將讀出的資料放在乙個一維陣列中,你也
可以把他們放在自己定義的三維陣列中,分別存放乙個畫素點的rgb值,這樣會更加形象,容易使用。
但功夫不負有心人,終於搞定,
在此分享
希望能給大家有所幫助,如果分析中有不恰當的地方,望批評指正
unsigned char matppm[640*480*3];
int nextline(char *line, file *fp)
while ( p != null && *p == '#' );
if( p==null )
return -1;
return 0;
}int read_header(file *fin, int *widthp, int *heightp, int *maxvalp, int *comp)
else
*widthp = cols;
*heightp = rows;
*maxvalp = maxval;
return 0;
}void read_ppm_image(char * image_name , int * rows, int * cols)
在main()函式中應用如下:
int rows=0,cols=0;
*matppm = (unsigned char )malloc(640*480*3);
read_ppm_image("rgb_1.ppm" , &rows, &cols);
資訊學奧賽之C 語言
c 是五大學科奧賽之一的資訊奧賽的基礎語言,而資訊奧賽獲獎者有機會參加高考自主招生,獲得降分錄取優惠 獲得提高組複賽一等獎的選手即可免試被大學錄取。各位家長請擦亮你們的雙眼看一下 免試,免試,是免試直接被大學錄取哦!作為開啟名校之門的一把密鑰匙,這麼好的乙個良機,怎能錯過?資訊學奧賽的宗旨在於通過競...
學益得線上課堂之C語言關鍵字
c語言有32個關鍵字,比如為我們常見的int char double return等等都是,但是這些往往並不是考查的重點物件。各大公司的筆試題,從來都不會放過對關鍵字的考查,下面小 就給大家整理了幾個比較重要的關鍵字,大家要牢記哦。static的用途主要有兩個,一是用於修飾儲存型別使之成為靜態儲存型...
做遊戲,學程式設計(C語言) 6 陣列之空戰遊戲
利用陣列,我們可以在空戰遊戲中實現多台敵機 發射閃彈等效果。大家可以用之前教程的思路,嘗試分步驟實現 飛機的顯示 單個敵機 多個敵機 發射常規子彈 發射閃彈,以下是完整的 遊戲畫面尺寸 define width 25 define enemynum 5 敵機個數 全域性變數 intposition ...