|
1: 2011-07-30 (土) 23:16:04 iseki |
| + | *** different_proc [#m51b2aa5] |
| + | DIFFERENT_API MSGraph<sWord>* different_proc(MSGraph<sWord>* vp) |
| + | { |
| + | MSGraph<sWord>* xp = NULL; |
| | | |
| + | ///////////////////////////////////////// |
| + | // 以下に処理コードを書く |
| + | // 入力 vp, 出力 xp |
| + | ///////////////////////////////////////// |
| + | |
| + | /**/////////////////////////////////////////////////////////////////////////////// |
| + | // |
| + | xp = new MSGraph<sWord>(vp->xs, vp->ys, vp->zs); |
| + | |
| + | for (int j=1; j<vp->ys-1; j++) { |
| + | for (int i=1; i<vp->xs-1; i++) { |
| + | xp->point(i, j) = (vp->point(i+1, j) - vp->point(i-1, j))/2; |
| + | } |
| + | } |
| + | |
| + | |
| + | /*//////////////////////////////////////////////////////////////////////////////// |
| + | // フィルターによる計算 |
| + | sWord mask[] = { 0, 0, 0, |
| + | -1, 0, 1, |
| + | 0, 0, 0 }; |
| + | |
| + | // Filterの作成 |
| + | MSGraph<sWord>* filter = new MSGraph<sWord>(3, 3); // フィルターのサイズを正確に指定する |
| + | filter->set_array(mask); // フィルターへコピー |
| + | filter->norm = 2.0; // 規格化の係数 |
| + | |
| + | xp = new MSGraph<sWord>(); |
| + | *xp = MSMaskFilter(*vp, *filter); |
| + | |
| + | // Filterの開放 |
| + | filter->free(); |
| + | delete(filter); |
| + | /**/ |
| + | |
| + | |
| + | /**/////////////////////////////////////////////////////////////////////////////// |
| + | // 絶対値の計算 |
| + | for (int j=0; j<vp->ys; j++) { |
| + | for (int i=0; i<vp->xs; i++) { |
| + | if (xp->point(i, j)<0) xp->point(i, j) = - xp->point(i, j); |
| + | } |
| + | } |
| + | /**/ |
| + | |
| + | ///////////////////////////////////////// |
| + | // 処理コードはここまで |
| + | ///////////////////////////////////////// |
| + | |
| + | return xp; |
| + | } |
|
90 人のユーザが現在オンラインです。 (22 人のユーザが xpwiki を参照しています。)
登録ユーザ: 0
ゲスト: 90
もっと...
|
|