• 締切済み

視覚暗号のプログラミングについて

現在C++で視覚暗号の画像を作成しているのですが、どのようにプログラムを組めばいいか全然分かりません。(一番下にある画像の文字のThe University of Electro Communicationsでなく、"HIS"の3文字にしたいのですが)、完成するにはまだまだ程遠いです。 大学の図書館に視覚暗号の本はあったのですが、そのプログラミングの本はありませんでした。今回の視覚暗号のプログラミングは白の基本行列、黒の基本行列、秘密画像(テレビの砂嵐みたいな画像)の行列の作成、そしてループ文を使うという事は確かです。 視覚暗号のプログラムを組める方は協力お願いします。 あと、視覚暗号の画像用のウィンドウ画面はもう出来ています。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

単純に 「 for( y : y座標の範囲){ for( x : x座標の範囲){ (x,y)座標についての色を決定する 出力画像データの該当する箇所をその色にする } } 」 ってだけのものでは? [(x,y)座標についての色を決定する] がこの手法の肝ですから、いろんな方法があるでしょう。 その例では ・(x,y)が文字の部分 → 黒 ・それ以外 → ノイズ となっているように見えます 出力画像の色を設定するとか、元画像やノイズ画像を作るとかは、どんな環境でどんなライブラリやどんなデータ構造を使っているかで全然違うので、それに合せてください、としか言いようがありません。

関連するQ&A

  • プログラミング シーザー暗号 複合化 C言語

    プログラミング シーザー暗号 複合化 Linux C言語 シーザー暗号を複合化するプログラムを教えてください! 大文字と小文字が混合の文字列で3つずらして複合化したいです 文字数が28字などでは収まらないくらいあります それをふまえたプログラムを教えてください よろしくお願いします

  • 白黒画素の暗号化について

    現在、C言語で秘密分散の研究をしています。 質問が2つあるのですが、白画素、黒画素の暗号化は それぞれ配列を使うのでしょうか? また、白を0、黒を1と認識させるプログラムコードは存在しますか? 一応完成品はC言語でウィンドウ画面の中に砂嵐の画像が表示され、 HITという3文字が浮かび上がるプログラムです。

  • プログラミングについて質問があります

    プログラミングについて質問があります 適当な初期値を代入した整数型の3行3列の行列CのC^2 C^3を求めるプログラムで Cの初期値を変えた場合でも利用できるプログラムを作成しなければならないのですが どのようなプログラムを作成すればいいのかわかりません プログラムの例などがあれば教えてください

  • ハフマン符号化プログラミング

     学校の課題でVisualStudioで実現できるハフマン符号化プログラム(3次拡大)を作成せよ。という課題が出題されました。  しかし私は今まで入門程度のプログラミングしかやったことがなく、。指定されたファイルの文字数を調べる程度の事しかできない程度のプログラミングの知識なのでさっぱりです。  指定されたtxtファイルを読み込んで、文字数を数えて、文字の種類を調べて、各文字の発生確率を調べて、各文字を3次拡大行列にし、ツリー構造のアルゴリズムを作成し、各値を2進数に変換して、2進数に変換したものをtxtファイルにして保存するということは何となくわかるのですが、それを実現する知識がありません。  プログラミングの知識をお持ちの方のご協力をお願いいたします。

  • 暗号化・復号化のアルゴリズムにはどんなものがありますか?

    Cでプログラミングを勉強しており、20文字ほどの文字列を暗号化・復号化するプログラムを考えていますが、ネットを検索しても暗号化アルゴリズムでなかなかいいものが見つかりません。 私のリクエストとしては ・暗号化対象は半角英数字、半角記号のみ。 ・単に文字コードを1つずつずらしたような簡単な暗号ではなく、複雑なアルゴリズムを使用したい。 ・アルゴリズムは複雑でもプログラムは簡潔にできるものがいい。(長くても数百行程度)。 ・アルゴリズム自体の仕様が公開されている。 ・アルゴリズムは数学式で表せるものがいい。 ・スーパーコンピュータを使わなければ解けないほど時間がかかる暗号化アルゴリズムでなくてもいい。 ・暗号化のライブラリファイルは使わず、自前で全部コードを書きたい。 ・公開鍵や秘密鍵を使わなくてもいい。 上記の条件を満たす暗号化アルゴリズムでいいものがありましたら、教えてください。 以上、よろしくお願いします。

  • 簡単なプログラミングだと思うのですが・・・

     自然数m,nの掛け算を足し算の繰り返しで計算するプログラムを作成したいのですが、プログラミングの本を見ても全く分かりません。 悩みの種です・・・

  • プログラミング<暗号入力プログラム>について

    はじめまして。よろしくお願いします。 現在、大学でプログラミングを習っているhayato2192といいます。 この間、ファイルを開くプログラムというのを習ったのですが、 そのプログラムを利用して何かほかのプログラムが作りたいなぁと思い、 暗号入力するとファイルが開く というプログラムをつくったのですが、 コンパイルはできても一向にファイルが開けないので、 コードをどうかえればいいか、というのを教えてください。 よろしくお願いします。 ちなみに、暗号は文字列が良いです。 コードは以下です ******************************** #include <stdio.h> int main(void) { FILE*fp; char i; int c; printf("START PROGRAM * FP\n"); printf("YOU SHOULD INPUT COAD\n"); scanf(" %s", i); if(i == "fileopen"); { if((fp = fopen("\\PROGRAM\\0123456789100.txt", "r")) == NULL) { printf("YOU CAN'T OPEN"); return 1; } while((c = fgetc(fp)) != EOF) { printf(" %c", c); } } else { printf("YOU CAN'T OPEN"); return 2; } fclose(fp); return 0; } ******************************** オープンするファイルはそんな結滞なもんじゃありません。 よろしくお願いします ただのテキストファイルです。

  • 短め!!C言語プログラミング作成求む!

    以下の数式をプログラミングする方法を模索し続けております。 C言語で答えを教えてくださる方、先輩方ぜひご教授ください。 プログラミングの文自体は短いものではないかと踏んでいますが 素人のためなかなかうまくいきません。 (平文の文字コード)=MOD(POW(暗号の文字コード,95),323) 上式が暗号文作成のルールになっていて、一文字ごとに変換しようとしたのですが平文の分量が膨大で心が折れかけています。 よろしくお願いいたします。

  • 短め!!C言語プログラミング作成求む!

    以下の数式をプログラミングする方法を模索し続けております。 C言語で答えを教えてくださる方、先輩方ぜひご教授ください。 プログラミングの文自体は短いものではないかと踏んでいますが 素人のためなかなかうまくいきません。 (平文の文字コード)=MOD(POW(暗号の文字コード,95),323) 上式が暗号文作成のルールになっていて、一文字ごとに変換しようとしたのですが平文の分量が膨大で心が折れかけています。 よろしくお願いいたします。

  • プログラミングについて。

    プログラミング初心者です。 ちょっと興味があり、プログラミングの勉強をしています。 テキストベースでプログラムを書いていったとして、どうやってGUIベースにすればいいのでしょうか? Linux上で簡単なプログラムをつくってコンパイルしましたが、コマンドから実行するともちろんCUIでの実行になります。 どうすれば、GUIベースで作れるのでしょうか。 言語以外の知識(専用ソフトウェア等)を必要とするのですか。 それとも、htmlのように画像などを読み込ませ完成させるのでしょうか。 iPhoneアプリ製作などは XCodeなどがありますが、プログラマーとして仕事をしている人は基本的にそのような専用ソフト上でプログラミングしているのでしょうか。

専門家に質問してみよう