| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 1 | サンプル プログラム |
1 | copyimage.c | 画像のコピー | 6 |
| 2 | 2 | brighten.c | 画像を明るくする | 7 | |
| 3 | 3 | leftright.c | 画像の左右反転 | 8 | |
| 4 | 演習問題 | 1 | rotate.c | 画像を90度回転 | 9 | 5 | 2 | reverse.c | 画像の階調を反転 | 10 | 6 | 3 | double.c | 画像を縦横2倍にする | 11 | 7 | 4 | connect.c | 画像を連結する | 12 |
| 8 | 応用問題 | 1 | average.c | 平均画像を作る | 13 |
| 9 | 2 | average2.c | 平均画像を作る(その2) | 14 | |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 10 | サンプル プログラム |
1 | histogram.c | 濃度ヒストグラム | 22 |
| 11 | 2 | trans0.c | 階調補正(ひな型) | 24 | |
| 12 | 演習問題 | 1 | linear.c | ヒストグラムの線形変換 | 26 | 13 | 2 | brightness.c | 明度の調整 | 27 | 14 | 3 | contrast.c | コントラストの調整 | 29 | 15 | 4 | gamma.c | ガンマ(γ)補正 | 30 |
| 16 | 応用問題 | 1 | linear2.c | 線形変換(改良型) | 31 |
| 17 | 2 | trans1.c | 曲線による階調補正 | 32 | |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | 18, 20 | 図2.2(a) 図2.5(a) |
house.pgm | house.jpg | ![]() |
26 | 図2.11(a) | fall.pgm | fall.jpg | ![]() |
31 | 図2.16(a) | temple.pgm | temple.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 18 | サンプル プログラム |
1 | binarization.c | 2値化 | 39 |
| 19 | 2 | dither1.c | ディザ法(Bayer型) | 40 | |
| 20 | 2 | e_dif.c | 誤差拡散法(誤差分散法) | 42 | |
| 21 | 演習問題 | 1 | decrease.c | 階調数削減処理 | 44 | 22 | 2 | dotpattern.c | ドットパターン表示 | 45 | 23 | 3 | dither2.c | ディザ法(網点) | 46 | 24 | dither3.c | ディザ法(渦巻) | 46 | 25 | 4 | e_dif2.c | 誤差拡散法(その2) | 47 |
| 26 | 応用問題 | 1 | binarization2.c | 谷点検出による2値化 | 48 |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | 48 | 図3.17(a) | textdata.pgm | textdata.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 27 | サンプル プログラム |
1 | laplacian.c | 8近傍ラプラシアン | 58 |
| 28 | 2 | forsen.c | Forsenフィルタ | 60 | |
| 29 | 演習問題 | 1 | sobel_h.c | Sobelフィルタ(水平) | 61 | 30 | 2 | diffvalue.c | 微分値の大きさ | 61 | 31 | 3 | range.c | レンジフィルタ | 62 | 32 | smooth.c | 線形平滑化フィルタ | 62 | 33 | 4 | expattern.c | パターン抽出フィルタ | 62 |
| 34 | 応用問題 | 1 | median.c | メディアンフィルタ | 63 |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 55 | 図4.5(a) | char-noise.pgm | char-noise.jpg | ![]() |
| 55 | 図4.6(a) | kanji-noise.pgm | kanji-noise.jpg | ![]() |
| 56 | 図4.8(a) | edge.pgm | edge.jpg | ![]() |
| 62 | 図4.12(a) | pattern.pgm | pattern.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 35 | サンプル プログラム |
1 | sinwave1.c | 正弦波の付加 | 70 |
| 36 | 2 | freq_filter1.c | フィルタリング(ひな型) | 72 | |
| 37 | 演習問題 | 1 | sinwave2a.c | 正弦波の付加1 | 75 |
| 38 | sinwave2b.c | 正弦波の付加2 | 75 | ||
| 39 | sinwave2c.c | 正弦波の付加3 | 75 | 40 | 2 | sinwave3.c | 2つの正弦波の和 | 75 | 41 | 3 | sinwave4.c | 原画像への正弦波の付加 | 75 | 42 | 4 | freq_filter2.c | 低域通過フィルタリング | 76 | 43 | 5 | freq_filter3.c | 特定の周波数の付加 | 77 |
| 44 | 応用問題 | 1 | savefreq.c | 振幅スペクトルの保存 | 77 |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| - | - | - | fft.h | フーリエ変換のライプラリ | 付録C |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 69 | 図5.7(a) | a.pgm | a.jpg | ![]() |
| 78 | 図5.16(a) | 64x64.pgm | 64x64.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 45 | サンプル プログラム |
1 | runlength.c | ランレングス符号長計算 | 86 |
| 46 | 2 | vq.c | ベクトル量子化(VQ)法 | 88 | |
| 47 | 演習問題 | 1 | calcrunlength.c | ランレングス符号化法 | 92 |
| 48 | 2 | vq2.c | VQ法(データ量計算) | 93 | |
| 49 | 3 | vqcode.c | VQ法(符号化) | 93 | 50 | 4 | vqdecode.c | VQ法(復号) | 95 |
| 51 | 応用問題 | 1 | fftcode.c | FFTによるデータ圧縮 | 95 |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| - | - | - | fft.h | フーリエ変換のライプラリ | 付録C |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 52 | サンプル プログラム |
1 | dotpattern-w.c | ドットパターン法(符号化) | 101 |
| 53 | 2 | bitplane-w.c | ビットプレーン法(符号化) | 104 | |
| 54 | 演習問題 | 1 | dotpattern-r.c | ドットパターン法(復号) | 107 |
| 55 | 2 | bitplane-r.c | ビットプレーン法(復号) | 107 | |
| 56 | 3 | bitplane-w2.c | ビットプレーン法(符号化2) | 108 | 57 | 4 | bitplane-r2.c | ビットプレーン法(復号2) | 109 |
| 58 | 応用問題 | 1 | dotpattern-w2.c | ドットパターン法(符号化2) | 109 |
| 58 | 2 | bitplane-w3.c | ビットプレーン法(符号化3) | 110 | |
| 58 | bitplane-r3.c | ビットプレーン法(復号3) | 110 | ||
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 106 110 |
図7.7(b) 図7.10(b) |
flower.pgm | flower.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 61 | サンプル プログラム |
1 | boundary.c | 輪郭線追跡 | 117 |
| 62 | 2 | dilatation.c | 膨張処理 | 120 | |
| 63 | 3 | labeling.c | ラベリング | 122 | |
| 64 | 演習問題 | 1 | load_boundary.c | 輪郭線データの読み込み | 124 |
| 65 | 2 | closing.c | closing処理 | 125 | |
| 66 | 3 | areafilter.c | 面積による図形の抽出 | 126 | 67 | 4 | shapefilter.c | 縦横比による図形の抽出 | 126 |
| 68 | 応用問題 | 1 | curve1.c | 曲線の偏角差分関数 | 127 |
| 69 | 2 | curve2.c | 曲線の折れ線近似 | 128 | |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| - | - | - | labeling.h | ラベリングのライブラリ | 付録D |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 114 | 図8.2(b) | ABC.pgm | ABC.jpg | ![]() |
| 114 | 図8.2(c) | ABC2.pgm | ABC2.jpg | ![]() |
| 116 | 図8.5(a) | figure.pgm | figure.jpg | ![]() |
| 119 | 図8.8(a) | binary.pgm | binary.jpg | ![]() |
| 121 | 図8.8(a) (再出) |
char-noise.pgm | char-noise.jpg | ![]() |
| 124 | 図8.10(a) | a-i-u.pgm | a-i-u.jpg | ![]() |
| 125 | 図8.12(a) | figures.pgm | figures.jpg | ![]() |
| 126 | 図8.13(a) | chars.pgm | chars.jpg | ![]() |
| 127 | 図8.14(a) | label.pgm | label.jpg | ![]() |
| 128 | 図8.15(a) | shape1.pgm | shape1.jpg | ![]() |
| 128 | 図8.15(b) | shape2.pgm | shape2.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 70 | サンプル プログラム |
1 | region_growing.c | 領域成長法 | 134 |
| 71 | 2 | extract_marker.c | 特定図形の抽出 | 136 | |
| 72 | 3 | stereo.c | ステレオマッチング | 139 | |
| 73 | 演習問題 | 1 | extract_region.c | 立体領域の抽出 | 143 |
| 74 | 2 | merge_figure.c | 仮想物体の合成表示 | 143 | |
| 75 | 3 | stereo2.c | 距離画像の生成 | 145 | |
| 68 | 応用問題 | 1 | stereo3.c | ブロック単位の距離計測 | 145 |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| - | - | - | labeling.h | ラベリングのライブラリ | 付録D |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 136 | 図9.7(c) | green.pgm | green.jpg | ![]() |
| 139 144 |
図9.8(a) 図9.11(a) |
desk1.pgm | desk1.jpg | ![]() |
| 139 144 |
図9.8(d) 図9.11(b) |
desk2.pgm | desk2.jpg | ![]() |
| 142 145 |
図9.9(a) 図9.14(a) |
left.pgm | left.jpg | ![]() |
| 142 145 |
図9.9(b) 図9.14(b) |
right.pgm | right.jpg | ![]() |
| 143 | 図9.10(a) | box.pgm | box.jpg | ![]() |
| 144 | 図9.11(c) | penguin.pgm | penguin.jpg | ![]() |
| 146 | 図9.15 | desk3.pgm | desk3.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 77 | サンプル プログラム |
1 | rw_serial.h | 連続ファイル用ヘッダ | 152 |
| 78 | 2 | make_bgd.c | 背景画像の作成 | 153 | |
| 79 | 3 | get_vector.c | 動きベクトルの決定 | 155 | |
| 80 | 演習問題 | 1 | extract_motion1.c | 差分画像の生成 | 158 |
| 81 | 2 | extract_motion2.c | closing で移動領域抽出 | 159 | |
| 82 | 3 | extract_motion3.c | 移動領域の連続抽出 | 160 | |
| 83 | 応用問題 | 1 | get_vector2.c | 速度で移動領域抽出 | 161 |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| No. | フォルダ名 | 内容 | |
| pgm 形式 | jpg 形式 | ||
| 1 | motion01(pgm) (フォルダへ) |
motion01(jpg) (フォルダへ) |
動画像データ1(500枚) |
| 2 | motion02(pgm) (フォルダへ) |
motion02(jpg) (フォルダへ) |
動画像データ2(300枚) |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 158 | 図10.6(a) (motion01の 01_00129.pgm) |
f1.pgm | f1.jpg | ![]() |
| 158 | 図10.6(b) (motion01の 01_00130.pgm) |
f2.pgm | f2.jpg | ![]() |
| - | motion01の 01_00131.pgm |
f3.pgm | f3.jpg | ![]() |
| - | motion01の 01_00132.pgm |
f4.pgm | f4.jpg | ![]() |
| - | motion01の 01_00133.pgm |
f5.pgm | f5.jpg | ![]() |
| 159 | 図10.7(a) (motion01の 01_00185.pgm) |
frame.pgm | frame.jpg | ![]() |
| 159 | 図10.7(b) (motion01の 01_00467.pgm) |
bgd.pgm | bgd.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 84 | サンプル プログラム |
1 | shape_recog1.c | 文字・図形の分類処理 | 167 |
| 85 | 2 | shape_recog2.c | テンプレートマッチング | 169 | |
| 86 | 3 | shape_recog3.c | 教師なし学習の図形分類 | 171 | |
| 87 | k-means.h | k-means 法のヘッダ | 172 | ||
| 88 | 演習問題 | 1 | recog1.c | 特徴量を用いた図形認識 | 175 |
| 89 | 2 | recog2.c | 平仮名の認識 | 175 | |
| 90 | 3 | recog3.c | 階調画像中の図形抽出 | 176 | |
| 91 | 応用問題 | 1 | recog4.c | 図形特徴量の算出 | 177 |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| - | - | - | labeling.h | ラベリングのライブラリ | 付録D |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 163 169 |
図11.2(a) 図11.7(a) |
abc.pgm | abc.jpg | ![]() |
| 170 | 図11.8(a) | ri.pgm | ri.jpg | ![]() |
| 170 | 図11.8(b) | sentence.pgm | sentence.jpg | ![]() |
| 174 | 図11.9(a) | 123.pgm | 123.jpg | ![]() |
| 175 | 図11.10(a) | figures.pgm | figures.jpg | ![]() |
| 176 | 図11.11(a) | hiragana.pgm | hiragana.jpg | ![]() |
| 176 | 図11.12(a) | display.pgm | display.jpg | ![]() |
| 176 | 図11.12(b) | desk.pgm | desk.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 92 | サンプル プログラム |
1 | feature_ext1.c | 画像特徴量の算出 | 185 |
| 93 | 2 | feature_ext2.c | エッジヒストグラム算出 | 186 | |
| 94 | 3 | feature_ext3.c | 階調画像の縮小 | 189 | |
| - | 演習問題 | 1 | - | 人工物/自然物 の分類 | 191 |
| 95 | 2 | image_recog1.c | 缶/not 缶 の分類 | 192 | |
| 96 | 3 | image_recog2.c | 縮小画像による分類 | 193 | |
| - | - | - | pgmlib.h | 階調画像用ライブラリ | 付録B |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 189 | 図12.6(a) | human.pgm | human.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 97 | - | - | ppmlib.h | カラー画像入出力ヘッダ | 197 |
| 98 | サンプル プログラム |
1 | reverse2.c | カラー画像の色反転 | 201 |
| 99 | 2 | divide_col.c | カラー画像の色分解 | 202 | |
| 100 | 3 | color_histogram.c | カラー画像のヒストグラム | 203 | |
| 101 | 演習問題 | 1 | ext_red.c | 赤色領域の抽出 | 205 |
| 102 | 2 | ext_face.c | 肌色領域の抽出 | 206 | |
| 103 | 3 | labeling2.h | カラー画像用ラベリングヘッダ | 206 | |
| 104 | 3 | ext_face2.c | 顔候補領域の抽出 | 207 | |
| 105 | 応用問題 | 1 | ext_face3.c | 顔候補領域の抽出2 | 207 |
| 106 | 2 | painting.c | 絵画風画像への変換 | 208 |
| 掲載頁 | 図番 | ファイル名 | 内容 | |
| pgm 形式 | jpg 形式 | |||
| 205 209 |
図13.5(a) 図13.9(a) |
rose.ppm | rose.jpg | ![]() |
| 205 | 図13.6(a) | puzzles.ppm | puzzles.jpg | ![]() |
| 206 207 |
図13.7(a) 図13.8(a) |
faces.ppm | faces.jpg | ![]() |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 107 | - | - | pgmlib.h | 階調画像用ライブラリ | 214 |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 108 | - | - | fft.h | フーリエ変換のライブラリ | 222 |
| 通し番号 | 分類 | No. | ファイル名 | 機能 | 掲載頁 |
| 109 | - | - | labeling.h | ラベリングのライブラリ | 228 |