.bmp ファイルを読み込んで、コマンド ラインの引数に基づいて変更することになっています。
例:
-fromrow x。x は処理する一番下の行を指定します
。-torow x。x は処理する一番上の行を指定します。
-fromcol x。x は処理する一番左の列を指定します。
-tocol x。x は処理する一番右の列を指定します。
-op x、ここで x は次のいずれかです
-- 1= 画像のしきい値を設定します (127 を超える指定範囲内の任意のピクセル値は t0 255 に変更され、127 以下のピクセル値は 0 に変更されます)
-- 2= 負 (指定された範囲内の任意のピクセル値 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);
}
「ピクセルの開始」とは何ですか? どういうわけか画像のバイトをループして2D配列にコピーすると思います...しかし、ファイルのバイトにアクセスするためのsuntaxがわかりませんか?
画像を変更するという点では、どこから始めればよいかさえわかりません... :/途方に暮れています。ヘルプ/アドバイス/情報/リンクは大歓迎です。
前もって感謝します。