#author("2023-08-29T04:24:57+00:00","default:iseki","iseki")
*** bin_proc [#k8f0d4ea]
 BIN_API MSGraph<sWord>* bin_proc(MSGraph<sWord>* vp)
 {
    MSGraph<sWord>* xp = NULL;
    
    // 整数値入力用ダイアログ
    int  val  = 0;
    BOOL isok = InputNumDLG("しきい値", &val);
    if (!isok) {
        xp = new MSGraph<sWord>();
        xp->state = ERROR_GRAPH_CANCEL;
        return xp;
    }
 
    /////////////////////////////////////////////////////////////////////////////////////////////
    // 以下に処理コードを書く
    //        入力 vp, 出力 xp, 閾値 val
    //        vp->xs: 画像のXサイズ,vp->ys: 画像のYサイズ,vp->zs: 画像のZサイズ
    //        vp->point(i,j,k): 画像の (i,j,k) 位置の画素値への参照
    //        vp->max: vpの濃度値の最高, vp->min: vpの濃度値の最低
    //        vp->color: カラーモード  GRAPH_COLOR_MONO: モノクロ,GRAPH_COLOR_RGB: RGBカラー
    ///////////////////////////////////////////////////////////////////////////////////////////// 
 
    xp = new MSGraph<sWord>(vp->xs, vp->ys, vp->zs);
 
    for (int k=0; k<xp->zs; k++) {
        for (int j=0; j<xp->ys; j++) {
            for (int i=0; i<vp->xs; i++) {
                if (vp->point(i,j,k)>=val) xp->point(i,j,k) = vp->max;
                else                       xp->point(i,j,k) = vp->min;
            }
        }
    }
 
    xp->color = vp->color;        // カラーモード
    
    /////////////////////////////////////////////////////////////////////////////////////////////
    // 処理コードはここまで
    //////////////////////////////////////////////////////////////////////////////////////////////
 
 
    return xp;
 }

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