(4)最初が肝心(備忘録)_openCV事始め

そもそもこのブログはiPadの購入を契機に、アプリの作り方を学ぶための備忘録として始めた。すっかりswiftからpythonに移行してしまったがそれはそれで自然の流れなので気にしていない。
なんでも事を始めるきっかけは些細なことであることが常だ。

無機的なコンピュータと向き合って、いつのまにか人工知能に手を伸ばそうと思うようになったのは凄いことだと思う。その意味で、孫のカンちゃんに絶大な感謝を捧げないといけない。

さて、そして備忘録についてである。
いろいろ学習した内容を覚書や記録としてノートにしたためておくのは勉強法の王道だろう。今まで、そうやっていろいろと学習してきた。キャビネットのなかにはたくさんの古いノートが残っていた(すでに大半は捨てたけれど)。

ところがである。
高齢(それに、もともと忘れっぽいし・・)になってノートのどこに書いたのかを忘れてしまうようになった。さらにノートをどこに置いたのかも、わからないことが多くなった。悲しいことにノートに書いたかどうかも思い出せないことすらある。いつも目の前に置いた老眼鏡を捜しているのと同じだ。
その点、ブログにすべて書いておくと便利極まりない。

openCVを初めてから、あらたにpythonのコードや関数で備忘録に残しておくべきことがたくさんあることに気がついた。しばらくはコードを書く前にコードが読めるようになることを優先して、原則やポイントをここに書き残したい。

                                                            • -

〇最初のおまじない
# -*- coding: utf-8 -*-
Pythonでは文字コードユニコードUTF-8)を標準で用いている(minPy,pp204)。
コードを書く場合のお作法で、最初の一行でこれを宣言するのが常道だ。

Pythonは動的型付き言語である。。(pyopenCV_pro,pp26)
C言語やJavaなどの静的型付き言語と比較すると数値計算を行う際に大幅に時間がかかる。画像処理には大量の計算が必要でPythonopenCVではNumPyモジュールを用いて計算の高速化をはかっている。NumPyは内部をC言語やFortranによって実装し、計算の大半はPythonではなくてC言語によるネイティブコードで実行することにより大幅な高速化を行っている。

Pythonのリスト、タプル、ディクショナリ(minPy,pp130)
リストは角括弧[ ]:削除、変更など自由自在。順番を持つ。
タプルは丸括弧( ):リストとの違いは要素の追加のみ可能でその他の変更は不可。インデックスで取り出す場合は角括弧[]
ディクショナリは波括弧 { }:インデックスとペアにして使う。順番を持たない。


〇画像データは多次元配列オブジェクトで表現される。
詳細は次で。