#author("2023-08-29T04:25:31+00:00","default:iseki","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;
 }

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS