ポイズン情報工学入門

~言いたいことも言えないこんな世の中は~

発想の勝利

 

みなさまお久しぶりです

きっとポイズン情報工学の更新を今か今かと

お待ちしていたことかと思います。

お  ま  た  せ

 

さて、今回は番外編になります。

当初の予定はC言語によるデジタル画像処理

簡単なソース解説的なことを

しようかと思っていました

 

が、

最近手をつけはじめた

アナログ画像処理(光学的画像処理)やら

人工知能特に汎用性人工知能やらが

もうおもしろくておもしろくて...

いったい何を書こうかと悩んでおります

その辺の内容はひとまず

Coming soon...!!

 

 

で、

今回は何をするかと言いますと

初歩的なC言語を用いて

実用性のあるプログラム

作ってやろうじゃあないかぁ!!JOJO~~~ッ!!!!

てなかんじッス

 

具体的にはどんなプログラムを作るのか、

その前にみなさん

「気になるあの子の

   誕生日が知りたい...」

なんて経験はございませんか?

 

もし誕生日を知ってしまえば最後

その子の誕生日に意気込んだ

おめでとうメッセージを送り

帰ってきた当たり障りのない返事に

ウキウキしてしまい

どんどん底無し沼に引きずり込まれます

 

しかし、

一流の恋愛マスターはそんな間抜けな

ことにはなりません

何故なら、「デートより妄想の方が楽しい」

ということを理解しているからです。

 

「誕生日」という情報に

ほんの少し

スパイスを加えるだけで

でものすごく素敵なことが起こります

 

そこで僕が今回考案たプログラムはこちら、

「誕生日から

  両親が愛し合った日を  

  推測するプログラム」

です

 

えげつねぇなぁ...

 

誕生日を知れば受精日を知れる。

とんでもねぇアルゴリズムですわ

 

赤子は一般的に十月十日で生まれるという

俗説を逆手にとってやります

 

これで気になるあの子への

最低な妄想が捗ります。

誕生日に連絡とる必要一切なし、

たまげたなぁ...

 

 

以下にソースを示します

Visual Stadioパイセン、

いつもお世話なってます。

f:id:gp15a085:20170615014749p:plain

 

int型変数が乱立すると醜いので

配列でひとまとめに、

if文と配列まで勉強すればここまでできます。

 

では実行結果を以下に示します

今回は僕の高校時代の彼女の

誕生日をお借りします

f:id:gp15a085:20170615015350p:plain

 

ゲヘヘ...あんなかわいい顔しやがって...

 

みなさんもぜひこのプログラムを活用して

素敵な妄想Life

Enjoyしてください。

 

最後まで読んでいただき、

感謝感激我射精

 

次回こそまじめに更新します

ほならね

 

画像処理のキホン②

 

poison-info-engin.hatenablog.com

※↑前回分です。

 

今回は前回に引き続き、デジタル画像について

つらつらと書いていきたいと思います。

 

さて、前回の「画像処理のキホン①」にて

アナログ画像に比べ、

圧倒的にデジタル画像が扱いやすい

ということに触れました。

 

しかし、

コンピュータで画像処理を行うためには

アナログ画像➡デジタル画像

というstepを踏まなければいけません。

そこで登場するのが

「標本化」量子化

 

なかなかイメージしにくい言葉ですね。

 

図1を見れば想像し易いかもしれません。

f:id:gp15a085:20170126003035g:plain

                    図1.標本化と量子化

 

もうこれに尽きる。

が、学習の記録なので一応明記しておきます。

 

 

「標本化」について。

2次元的なアナログ画像(写真とか)に対して

等間隔の格子状に配置した標本点を決定します。

この標本点を「画素」、

又は「ピクセル」呼びます。

例えば、アナログ画像を縦m個、

横n個の標本点で標本化すると

画像はm×n個の画素(ピクセル)で

構成されることになります。

 

かみ砕いて言うとピクセルの集合体」です。

デジタル画像の座標系は一般的に

左上が原点である場合が多いです。

 

しかし、この状態ではまだ不完全です。

標本化で得られた「ピクセル」を

数値に変換することで

デジタル画像と呼べます。

 

ピクセルの集合体」に変換した段階では

ピクセルの数値は「明るさ」のみの

2値的な情報にしか表現されません。

(明るいか暗いかのみの情報)

 

この数値を明るさや色の詳しい情報に

変換する処理が量子化です。

これもかみ砕いて言うなら

「色や明るさの段階わけ」です。

 

 

量子化後の各ピクセルの値を

「画素値」といい、

濃度値、階調値、輝度値とも言います。

この値は「デジタル画像」なので

2進数で表現されます。

 

256段階(2^8=256)の8bit画像が一般的で

この他にも1024段階(2^10=1024)で表現される

10bit画像等が代表的なものになります。

このbit段階数を「量子化レベル」といいます。

 

 

 

ここまでの流れを超ざっくりまとめると

アナログ画像➡「標本化」➡「量子化」➡「デジタル画像」

って感じですね。ざっくり。

 

 

さて

こうして得られたデジタル画像ですが

 

「モノクロ調」「カラー調」

の2種類に分けられます。

 

「モノクロ調」は

画素の明るさに関する情報のみで

構成されるため、色味が存在しません。

まぁこの辺は感覚的にわかると思います。

 

先ほど標本化のときに

「2次元的な標本点を決める」

と言いましたが、

「デジタル画像は

2次元平面上の座標系に存在する」

とも考えれますよね。

 

もう少し深く考えるなら

「8bitのモノクロ調

   デジタル画像」

「階調値8のデジタル画像が

あるXY平面上に存在し、

明るさに関する情報を持つ」

という風に解釈を変えれます。

この考え方はカラー調について考察する際

非常に重要となります。

 

 

「カラー調」について。

まずカラー調を語る導入として

少し生物チックな話になりますが

人間の目には赤緑青の色(RGB)に強く反応する

「錐体」という器官があり、網膜上の細胞で

「色」という情報を感じ取っています。

何が言いたいかというと人間の目はRGB以外の

色を目視できないということです。

 

さらに厳密にいうと

「RGBおよびRGBの値の掛け合いによって

生成された色しか視認できない」

という解釈になります。

 

話をカラー調に戻します。

 

先ほど挙げたとおり、モノクロ調は

明るさの情報のみを保持した

2次元座標系で表現されます。

 

しかし、カラー調の場合はそうではなく

「明るさと赤色の情報を持った2次元座標系」

「明るさと緑色の情報を持った2次元座標系」

「明るさと青色の情報を持った2次元座標系」

という3つの異なる色情報を持った

2次元座標系を重ねあわせ、

3次元座標系を生成します。

 

もとの画像が縦

(サイズ)×横(サイズ)×単色(RorGorB)

だったものをそれぞれ組み合わせて

縦(サイズ)×(サイズ)×3色(RGB)

という感じです。

 

以下の図2がわかりやすい例。

 

f:id:gp15a085:20170126020115p:plain

      図2.RGB分解

 

「モノクロ調」と「カラー調」の違いは

ざっとこんな感じです。

 

わかりきったことかもしれませんが、

あえて深く考察することで少しだけ

理解が深まって頂ければ幸いです。

 

 

ところどころ日本語として

怪しい部分が見受けられますが悪しからず。

えらい長くなってしまった…。

 

次回の更新内容はまだ検討中です。

最後まで読んでいただきありがとナス!

 

画像処理のキホン①

そもそも、画像って何?

なんて質問はこの21世紀にはさすがに

飛び出さないと思いますが定義として、

 

「周囲の情報を2次元の平面に投影したときに得られる

 情報の形態である」

2次元空間における光の分布を表現したものであり、

 2次元的な広がりのある情報を表現できる媒体である」

 

と、ややこしく書かれてます。

 

こんな感じで定義された

画像という媒体に対して人為的に何らかの

加工や伝送、計測、認識等の処理を施すことを

「画像処理」といいます。

おぉ、ナンカカッケェな。

 

近年ではコンピュータの目覚ましい発達により

デジタル画像処理が主流です。

デジタル⇔アナログ どんな違いがあるのか。

ざっくり言うなら、携帯やPCに保存されている

画像はデジタル画像で

紙に印刷された文章や現像した写真なんかは

アナログ画像です。

 

このアナログ画像がなかなか曲者で、

処理を施すに差し当たって

光学処理がうんたらかんたら、、

 

もうめっちゃめんどくさい。

 

対照的にデジタル画像はこの情報化社会、

めっちゃ便利です。

メールに添付できるし右クリックコピペで

画像量産できるし最高。

そしてなにより、

ここで注目する最大の特徴(本題)は

「プログラムを通して任意の処理を施せる」

 

え?当たり前じゃね?

って思った糞女のみなさん。

君たちが普段使っている[SNOW]やら

[B612]やらの画像加工コンテンツは

そんなプログラムを沢山搭載した

英知の結晶なのです。はい感謝

 

普段当たり前に使っているコンテンツの

カラクリを知れば知るほど

「あー!そういう事な!」

って感じの小さい喜びが生まれるわけですよ。

 

僕はこの小さな喜びの爽快感、達成感、

こんな言葉は無いですが、

名付けるなら「獲知感」とも言いましょうか。

この感覚に触れたくて学習しております。

 

次回の更新では、

デジタル画像の種類、標本化、量子化

具体的な処理の流れについて

ざっくり触れたいと思います。

テンポ悪くてすいません。

ありがとうございました。

 

はじめに

等ブログは自分に起こった日々の出来事や

オサレな写真をつらつらと溢す類のもの

 

…ではなく、

どこぞの阿呆な情報工学生が

講義で学習した内容から気に入ったトピックについて

自分なりの解釈をかなり込めた

いわば学習の記録のようなものです。

事前知識のない方にもわかりやすいよう

説明口調で進める予定です

ですので、根本的な間違いや

書き損じ、誤字が懸念されます。

その都度コメントより簡易な修正を頂けると

幸いです。

何卒、この阿呆の成長を温かい目で

見守ってください。

更新は不定期で。あしからず