作ってみたタイトルの通りC#でグレイコードを作成して画像に保存したいと思います。グレイコードはノイズに強いので例えば、プロジェクターからパターンを投影してイメージセンサーで画像を撮影したときに座標の対応関係をとるのに使用できます。数値でグレイコードを作成する場合の手順です。全ての数字をビット列に直す一番大きい数値のビット数でゼロ埋めする以下の図のように数列を取得する一番大きい数が16なので、4ビットで表すことができるため、作成するグレイコードは4つとなります。赤枠の一番左の赤枠の列が1つめのグレイコードで右に1桁づつ移動して4つのグレイコードとなります。0に黒、1に白を割り当てて保存したい画像の高さ分複製して保存すると以下のような画像が取得できます。以下例の画像の高さは32pxです。128x128で作成すると以下のようになります。実装コード実装環境は以下の通り。VisualStudio2017C#7.0OpenCvSharp3作成したプログラムはコンソールから起動可能で以下書式で起動できます。${出力先ディレクトリ}MainクラスMainクラスでOpenCvSharp3を使って画像を保存しています。通常の白黒画像と、その画像を反転した画像の2つをビットマップへ保存しています。}}グレイコードを作成するクラス中心となるグレイコードを生成するクラスは以下の通りです。単一のグレイコードを生成するならToGrayCode、0~1024(とか、100~200)までのグレイコードを生成するならGenerateを使用します。CからN個のグレイコードを生成します。汎用処理を記述しています。}}ここでは使用していませんが、グレイコードをの数字に戻するにはGrayCode.Decodeを使用します。0;割と簡単なことですがコードが多少中くなってしまいました。»Profile受託ソフト会社員でWin系業務屋。趣味でCocos2d-x/C++を触っています。etc...主に受託・開発ネタ、Windowsの事、Srellaris、ゲーム制作の進捗の事を喋ります。ArticleC#で2次元配列を管理するクラスを作成する【C#】2次元配列から2次元配列を切り出すC#でオブジェクト初期化子を使った時の丸カッコの有無DOTweenのアニメーションをTimeLineでプレビューするC#の配列をインデックス付きforeachするスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。