孫其功陪你學之 C語言讀取 ppm檔案

2021-06-18 20:51:30 字數 882 閱讀 2844

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 ...