画像処理プログラミング

画像処理プログラミング
知的画像処理研究室
M2 小林 佳奈美
サンプルプログラムのダウンロード

http://iipl.is.ritsumei.ac.jp/ - 授業関連
ファイルの解凍方法、コンパイル&実行方法な
どは、上記ページに全て書いてあります。
各ファイルの説明

ImageFileIO.c


ImageFileIO.h


ImageFileIO.c内の関数の宣言
ImageFilter.c


画像の読み込み、出力データの書き出しなどを行う
関数の定義
データを画像処理する関数の定義
ImageFilter.h

ImageFilter.c内の関数の宣言
各ファイルの説明

main.c


○○○.ppm


カラー画像ファイル
○○○.pgm


メインプログラム
モノクロ画像ファイル
ImageTools.c ImageTools.h

今回関係なし
各ファイルの説明

Makefike

makeコマンドを使用する為のファイル
makeコマンドを実行し、コンパイルとリンクを自
動的に行う
imgfilterという実行ファイルが作成
サンプルプログラムの説明

main.c
int main(void) {
// 画像処理を行う関数の呼び出し
// 例1)PPM形式の入力データをネガ画像に変換
NegativeImage();
// 例2)PGM形式のデータに線を描く
// DrawLines();
// 正常終了
return 0;
}

main()関数からNegativeImage()関数が呼び出され
ている
ImageFilter.c

void NegativeImage(void)

PPM形式の入力データをネガ画像に変換
void NegativeImage(void) {
・・・
// PPM形式の入力データの読み込み
pRGBInputData = ReadPpm(&iWidth, &iHeight, &iMaxValue);
・・・
}
ImageFileIO.c

ReadPpm(int * iWidth, int * iHeight, int * iMaxValue)


WritePpm(struct RGB * pRGBOutputData, int iWidth,
int iHeight, int iMaxValue)


PPMファイルの読み込み
PPMファイルへ書き出し
GetAxisFromIndex(int iWidth, int iIndex, int * iX, int *
iY)

1次元のインデックスから2次元座標を取得
など・・・
新しく関数を作成

ImageFilter.cに関数を追加する

BinaryImage(void)

ImageFilter.h内で関数の宣言を行う

main.c内のmain()関数から呼び出す
makeコマンドでコンパイル
ヒント
(周辺画素を処理するプログラムを作成する際の注意)
注目画素
端の画素の例外処理を忘れずに行うこと
注意

画像の表示が上手くいかない場合
ディスク容量がいっぱいじゃないですか?
% du –sh
・・・ディスク使用量の確認


Netscapeのキャッシュの削除


Netscapeを立ち上げ、
編集→設定→詳細→キャッシュ
キャッシュのクリアを行い、保存するキャッシュ容量も
減らすことをオススメします(デフォルトは50MB)