プログラミングでの白黒画素の行列表記について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
sac2

プログラミングでの白黒画素の行列表記について

#1

投稿記事 by sac2 » 12年前

現在、C++でで秘密分散法で、文字が表示されるプログラムを作成しています。
プログラムの知識は多少はあります。
完成系はウィンドウ画面の中に"HIT"という文字+背景はノイズが表示されるプログラムです。
HITという画像を表示させたいです。
白画素の分散画像+黒画素の分散画像=黒文字のHITの画像と
なるのは分かりました。ただ、何度、白黒画素の分散画像を構成する行列を書いても
エラーばっかりです。エラー内容としては構文エラー : ';' が '{' の前にありません。'int' は ';' によって先行されなければなりません。
これらが複数あり、困っています。
行列表記で間違っていると思ったら訂正してもらえませんか?

黒画素の基本行列です。

コード:

 int 
 b 0[3][9]={{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1}},
 b 1[3][9]={{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0}},
 b 2[3][9]={{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0}},
 b 3[3][9]={{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1}},
 b 4[3][9]={{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0}},
 b 5[3][9]={{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0}},
 b 6[3][9]={{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1}},
 b 7[3][9]={{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0}},
 b 8[3][9]={{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0}},
 b 9[3][9]={{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1}},
 b 10[3][9]={{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0}},
 b 11[3][9]={{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0}},
 b 12[3][9]={{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1}},
 b 13[3][9]={{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0}},
 b 14[3][9]={{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0}},
 b 15[3][9]={{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1}},
 b 16[3][9]={{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0}},
 b 17[3][9]={{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0}},
 b 18[3][9]={{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1}},
 b 19[3][9]={{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0}},
 b 20[3][9]={{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0}},
 b 21[3][9]={{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1}},
 b 22[3][9]={{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0}},
 b 23[3][9]={{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0}},
 b 24[3][9]={{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1}},
 b 25[3][9]={{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0}},
 b 26[3][9]={{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0}};


白画素の基本行列です。

↓

int a0[3][9]={{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0}},
     a1[3][9]={{1,0,0,1,0,0,0,1,0},{1,0,0,1,0,0,0,1,0},{1,0,0,1,0,0,0,1,0}},
     a2[3][9]={{1,0,0,1,0,0,0,0,1},{1,0,0,1,0,0,0,0,1},{1,0,0,1,0,0,0,0,1}},
     a3[3][9]={{1,0,0,0,1,0,1,0,0},{1,0,0,0,1,0,1,0,0},{1,0,0,0,1,0,1,0,0}},
     a4[3][9]={{1,0,0,0,1,0,0,1,0},{1,0,0,0,1,0,0,1,0},{1,0,0,0,1,0,0,1,0}},
     a5[3][9]={{1,0,0,0,1,0,0,0,1},{1,0,0,0,1,0,0,0,1},{1,0,0,0,1,0,0,0,1}},
     a6[3][9]={{1,0,0,0,0,1,1,0,0},{1,0,0,0,0,1,1,0,0},{1,0,0,0,0,1,1,0,0}},
     a7[3][9]={{1,0,0,0,0,1,0,1,0},{1,0,0,0,0,1,0,1,0},{1,0,0,0,0,1,0,1,0}},
     a8[3][9]={{1,0,0,0,0,1,0,0,1},{1,0,0,0,0,1,0,0,1},{1,0,0,0,0,1,0,0,1}}, 
     a9[3][9]={{0,1,0,1,0,0,1,0,0},{0,1,0,1,0,0,1,0,0},{0,1,0,1,0,0,1,0,0}},
     a10[3][9]={{0,1,0,1,0,0,0,1,0},{0,1,0,1,0,0,0,1,0},{0,1,0,1,0,0,0,1,0}}, 
     a11[3][9]={{0,1,0,1,0,0,0,0,1},{0,1,0,1,0,0,0,0,1},{0,1,0,1,0,0,0,0,1}},
     a12[3][9]={{0,1,0,0,1,0,1,0,0},{0,1,0,0,1,0,1,0,0},{0,1,0,0,1,0,1,0,0}}, 
     a13[3][9]={{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0}}, 
     a14[3][9]={{0,1,0,0,1,0,0,0,1},{0,1,0,0,1,0,0,0,1},{0,1,0,0,1,0,0,0,1}},
     a15[3][9]={{0,1,0,0,0,1,1,0,0},{0,1,0,0,0,1,1,0,0},{0,1,0,0,0,1,1,0,0}},
     a16[3][9]={{0,1,0,0,0,1,0,1,0},{0,1,0,0,0,1,0,1,0},{0,1,0,0,0,1,0,1,0}},
     a17[3][9]={{0,1,0,0,0,1,0,0,1},{0,1,0,0,0,1,0,0,1},{0,1,0,0,0,1,0,0,1}},
     a18[3][9]={{0,0,1,1,0,0,1,0,0},{0,0,1,1,0,0,1,0,0},{0,0,1,1,0,0,1,0,0}},
     a19[3][9]={{0,0,1,1,0,0,0,1,0},{0,0,1,1,0,0,0,1,0},{0,0,1,1,0,0,0,1,0}},
     a20[3][9]={{0,0,1,1,0,0,0,0,1},{0,0,1,1,0,0,0,0,1},{0,0,1,1,0,0,0,0,1}},
     a21[3][9]={{0,0,1,0,1,0,1,0,0},{0,0,1,0,1,0,1,0,0},{0,0,1,0,1,0,1,0,0}},
     a22[3][9]={{0,0,1,0,1,0,0,1,0},{0,0,1,0,1,0,0,1,0},{0,0,1,0,1,0,0,1,0}},
     a23[3][9]={{0,0,1,0,1,0,0,0,1},{0,0,1,0,1,0,0,0,1},{0,0,1,0,1,0,0,0,1}},
     a24[3][9]={{0,0,1,0,0,1,1,0,0},{0,0,1,0,0,1,1,0,0},{0,0,1,0,0,1,1,0,0}},
     a25[3][9]={{0,0,1,0,0,1,0,1,0},{0,0,1,0,0,1,0,1,0},{0,0,1,0,0,1,0,1,0}},
     a26[3][9]={{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1}},
     

秘密画像の基本行列です。

↓

har c[21][35]=

             {{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
                {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},  
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0},
                {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
                {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}};


アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: プログラミングでの白黒画素の行列表記について

#2

投稿記事 by みけCAT » 12年前

小さくして

コード:

int
b 0[3][9]={{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1}},
b 1[3][9]={{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0}};
というコードをコンパイルして試したところ、

コード:

prog.c:2:3: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before numeric constant
prog.c:2:72: error: expected identifier or ‘(’ before ‘,’ token
というエラーが出ました。
変数名(の最初)に数字は使えないということです。

a[0-9]+の方は、文法上は問題なさそうですね。効率が悪そうですが。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

sac2

Re: プログラミングでの白黒画素の行列表記について

#3

投稿記事 by sac2 » 12年前

みけCATさん

配列はこういう形でいいですか?
それとも違うやり方のほうがいいですか?

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: プログラミングでの白黒画素の行列表記について

#4

投稿記事 by みけCAT » 12年前

コード:

int b[27][3][9]={
	{{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1}},
	{{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0}},
	{{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0}},
	{{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1}},
	{{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0}},
	{{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0}},
	{{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1}},
	{{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0}},
	{{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0}},
	{{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1}},
	{{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0}},
	{{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0}},
	{{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1}},
	{{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0}},
	{{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0}},
	{{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1}},
	{{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0}},
	{{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0}},
	{{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0},{0,0,1,0,0,1,0,0,1}},
	{{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0},{1,0,0,1,0,0,1,0,0}},
	{{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0},{0,1,0,0,1,0,0,1,0}},
	{{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1}},
	{{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0}},
	{{0,0,1,0,0,1,0,0,1},{0,0,1,0,0,1,0,0,1},{0,1,0,0,1,0,0,1,0}},
	{{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0},{0,0,1,0,0,1,0,0,1}},
	{{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0},{1,0,0,1,0,0,1,0,0}},
	{{0,0,1,0,0,1,0,0,1},{1,0,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,1,0}}
};
このような形の方がいい気がしました。
元の形のメリットは(使い方にもよりますが)コードの文字数の削減くらいでしょうか?
aの方も同様に。

変換補助スクリプトもおいておきますね。
http://ideone.com/rKegwe
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

sac2

Re: プログラミングでの白黒画素の行列表記について

#5

投稿記事 by sac2 » 12年前

みけCATさん
適切なアドバイスありがとうございました。
また、何か質問するかもしれませんが、宜しくお願いします。

sac2

秘密分散での分散画像の配列のソースコードの書き方

#6

投稿記事 by sac2 » 12年前

よろしかったら回答の協力お願いします。
今回は秘密分散法の分散画像の配列のソースコードの書き方について質問します。
現在、C言語で秘密分散法を用いて、秘密画像を表示させる課題に取り組んでいます。
秘密分散画像でのプログラミングの配列の書き方がよく分からないです。
学校では配列は習っていますが、秘密画像の配列は習っていません。
Cの知識は多少あります。

秘密分散法はノイズ画像の分散画像2枚を重ね合わせたら
文字が浮かび上がるというのは理解出来ましたが、プログラミング
での分散画像の配列(白と黒の時の基本行列)の書き方が分かりません。

環境はVisual C++2010です。
視覚暗号の配列(白と黒の時の基本行列)が書けるようになりたいです。
基本行列のプログラムコードの書き方について何かアドバイスをくれないでしょうか?
あるいは秘密分散のプログラミングに関して何か参考となるURLとかありませんか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: プログラミングでの白黒画素の行列表記について

#7

投稿記事 by softya(ソフト屋) » 12年前

もうひとつ有ったんですね。 分散してややこしくなっています。
 ↓ こっちも有るので、どっちかに統一してください。
「秘密分散法のプログラミング • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3&t=13513
統一のため、不要な方は解決チェックしてください。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。


アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前
住所: 東海地方
連絡を取る:

Re: プログラミングでの白黒画素の行列表記について

#9

投稿記事 by softya(ソフト屋) » 12年前

こちらに統一されるようです。
「C言語、秘密分散での分散画像の配列のソースコード • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewtopic.php?f=3 ... 61#p108361
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る