C/C++の宿題を片付けます 89代目

このエントリーをはてなブックマークに追加
933デフォルトの名無しさん
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク):
  (1) ニューラルネットワークを用いた学習アルゴリズムに従って、
    主成分分析をするプログラムをつくりなさい。
(2) (1)で出た結果を使って画像の情報量を圧縮をするプログラムをつくりなさい。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C++
[4] 期限: [2007年6月15日まで] (時刻の指定なし)
[5] その他の制限:
つくりかけのソースがここにあるのですが(元の画像つきです、コンパイルは通ります)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4247.zip
学習自体はうまくいっている(結果の値をそのまま使って復元すると元に戻っている)思うのですが、
量子化を施すと、面影はあるのですがぐちゃぐちゃの画像が出てきて思うように復元することができません。
(プログラムをそのまま実行してみればわかるかと思います)
ここからどのようにすれば、元の画像と遜色なく復元できるのでしょうか。

どなたかご教授のほどをよろしくお願いいたします。