我應該讀取.bmp文件,然後根據命令行參數進行更改。C,BMP處理...不知道:/
實例:
-fromrow x,其中x指定最底部行處理
-torow x,其中x指定了最頂行以處理
-fromcol x,其中x指定最左邊的列處理
-tocol x,其中x指定最右邊的列以處理
-op x,其中x是以下之一
-1 =圖像的閾值(127以上的指定範圍中的任何像素值被改變爲t0 255,並且像素值127或更小改變爲0)
-2 =負(任何像素v ALUE p在規定的範圍內變更爲255-P)
我一直在考慮這個代碼的讀取.bmp文件時許例如:
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp= fopen("sample.bmp", "r+");
if (fp == NULL){
printf("Error");
}
int temp=0;
//Go to Byte 22
fseek(fp,22,SEEK_SET);
//Read byte 22 into an integer variable
fread(&temp, sizeof(int), 1, fp);
printf("Number of Rows: %d\n", temp);
fseek(fp,18,SEEK_SET);
fread(&temp, sizeof(int), 1, fp);
printf("Number of Columns: %d\n", temp);
fseek(fp,10,SEEK_SET);
fread(&temp, sizeof(int), 1, fp);
printf("Start of Pixels: %d\n", temp);
fclose (fp);
}
什麼是「像素的開始」?我想我以某種方式通過圖像的字節循環並將它們複製到二維數組中...但我不知道訪問文件字節的suntax?
我甚至不知道從哪裏開始改變圖像...:/我很茫然。 任何幫助/建議/ linfo /鏈接將不勝感激。
預先感謝您。
可能的死亡http://stackoverflow.com/questions/5751749/how-can-i-read-bmp-pixel-values-into-an-array? – 2011-04-27 22:36:07