|
1: 2011-07-30 (土) 23:08:38 iseki |
| + | 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; |
| + | } |
|
69 人のユーザが現在オンラインです。 (19 人のユーザが xpwiki を参照しています。)
登録ユーザ: 0
ゲスト: 69
もっと...
|
|