画像情報処理演習 「線形変換」のプログラム作成
 先週の宿題、「Linear補正プログラムの作成」を今の今まで行っていた。K氏にアドバイスをいただいたりした結果(電話してきてくれてありがとう!!!!)、ついに完成!!!!(正解かどうかはわからないが)

 以下にプログラムを示す。

 しかし、本当に苦労した。UNIXのサーバに入れなかったり、入れてもなぜかコンパイルできなかったりと、トラブルの連続。結局Windows上のC++コンパイラを使って行うことにしたものの、ヘッダファイルがない!!!ネット上で見つけ、なんとかプログラムをするところまでこじつけるのにかなりの労力を要した。

 そこからが本当に苦労した。アドバイスをもらいつつ、ひとつずつ問題解決していき、最後は完成に気づかず勘違い。(a=-1,b=0で真っ黒になるので「おかしい」と思ったら、b=255を入れる必要があったのだ!)

 ひさしぶりに、「やったーーーーーー!!!!!!」と心の底から喜べました!!!!!!
 先週は、本当につらかった・・・・・・



#include
#include
#include
#include"mypgm.h"

void linear_comp(double a,double b)
/* 画像のLinear補正を行う.   */
/* 原画像 image1[y][x] ===> 変換後の画像 image2[y][x] */
{
int x, y; /* 制御変数 */


for (y=0;y<256;y++){
for (x=0;x<256;x++){
double d,e;
d=(double)image1[y][x];
e=a*d+b;

if(e<0) e=0;
if(e>255) e=255;
image2[y][x]=e+0.5;
}
}
x_size2=x_size1;
y_size2=y_size1;
}
main( )
{
double a,b,r;

load_image_data( ); /* 画像を読み込んで image1 へ */

printf ("y=ax+b:a= ");
scanf ("%lf", &a);
printf ("y=ax+b:b= ");
scanf ("%lf", &b);
linear_comp(a,b); /* Linear補正して image2 へ */



save_image_data( ); /* image2 を保存する */
return 0;
}

a0014712_371134.jpg

上が元画像、下が反転画像。
a0014712_372567.jpg

[PR]
by viewtleaf | 2004-11-04 03:07 | 画像処理
<< 画像情報処理研究  色々考えた >>



毎日起こった出来事を記入し、「振り返り」に活用したいと思います。写真は我が子の作品。
by viewtleaf
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
検索
カテゴリ
全体
Diary
学校での取り組み全般
バレーボール
修論
Linux
Network
Security
Software
総合関係
Medical treatment
JAVAプログラミング
研究会等
特別支援
Fishing
流体力学
機械工学
画像処理
電気工学
情報工学
木材加工
異文化間教育
ビデオ編集
イギリスの学校
書評
リンク
金属加工
学ぶ・わかる
Bowling
Hardware
麺類
Piano
English
パズル
卓球
未分類
フォロー中のブログ
異能者集団のチームワーキング
私たちにもできる!国際協力
ジャストジャンプ3@フレ...
その他のジャンル
記事ランキング
ブログジャンル
画像一覧