ラベル 導入 の投稿を表示しています。 すべての投稿を表示
ラベル 導入 の投稿を表示しています。 すべての投稿を表示

2012/11/21

Scalar型はなぜ4要素か

Scalar(スカラー)はMatのピクセル操作に用いられる、OpenCVによって定義される型だ。
OpenCVでは色をMatのチャンネルとして扱う。
http://gori-naru.blogspot.jp/2012/11/blog-post_789.html
Matの各ピクセルはスカラー値を持っている。
いったいなぜ4要素なのか。

たとえば色空間のRGB、HSV、Labに共通なことは何か?
そう、色を3つの数値で表している。
(だったら3要素でよくね?と思った君はバナナを食べて落ち着いてほしい)
それに透明度を加えれば4チャンネルとなる。

最大4チャンネルなのでScalar型は4要素なのだ。

2012/11/13

色の扱い

色とは

色とはなんだ。
ゴリラの色覚は人間と同じだ。 http://web2.chubu-gu.ac.jp/web_labo/mikami/brain/25-2/index-25-2.html

色空間

RGB、HSV、Labとか
http://ja.wikipedia.org/wiki/%E8%89%B2%E7%A9%BA%E9%96%93

OpenCVにおける色

チャンネルで表す。
http://opencv.jp/cookbook/opencv_mat.html 
CV_8UC3というのは、3チャンネルのunsigned char(uchar)である。

2012/11/12

#include "cv.h" #include "highgui.h"

君の読んでいるOpenCV解説サイトのなかで、こんな記述を見つけるかもしれない。
#include "cv.h"
#include "highgui.h"
IplImage* image;
これらは古いバージョンのOpenCVだ。
書き換えることもできるが、できればもっと新しい情報を探そう。
そう、たとえばこのゴリラブログみたいに。

リファレンス読め

関数の使い方や挙動を知るために、リファレンスをみよう。
これ基本。ゴリラなら当たり前。

OpenCV2.4のリファレンスがマジでありえないくらい見にくいので、
私はOpenCV2.2のリファレンスを読んでいる。
OpenCV2.2: http://opencv.jp/opencv-2svn/cpp/ 
最新(英語): http://docs.opencv.org/
OpenCV2.2の方なら日本語で検索もできる。
「転置」 http://opencv.jp/opencv-2svn/cpp/search.html?q=%E8%BB%A2%E7%BD%AE

ブックマークに追加だ。

2012/11/10

OpenCVでHelloWorld

前提条件

Visual C++とOpenCVがインストールされている。

対象とする人

ググってやってみたけどよくわかんない人
ライブラリを設定するのが面倒な人

やること

Visual C++、OpenCVが正しく動くか調べる。

2012/11/09

OpenCVのバージョン

やあ

君がOpenCVとは何かわからずにインストールしようとしているなら、
まず以前の投稿を読んでほしい。
http://gori-naru.blogspot.jp/2012/11/opencv.html


君がOpenCVをC++から使おうと思っているにもかかわらず、
特に深い考慮もなくVisual C++をインストールしていないなら、
まず以前の投稿を読んでほしい。

http://gori-naru.blogspot.jp/2012/11/c.html

バージョン

OpenCVには複数のバージョンがある。
今の最新は2.4.3とか、そのくらいだ。
インターネット上にはOpenCVに関する情報がたくさんある。
しかしそれらのバージョンは君の使うOpenCVのバージョンとは違うかもしれない。

僕は超能力者じゃないが、君の考えはわかる。
君はおそらくネットのサンプルや、誰かの成果物を動かしたいと思っている。

でもバージョンが違うと動かない、かもしれない。

サンプルコードを動かすためだけに
古いバージョンのOpenCVでプログラミングするのはお勧めしない。
新しいバージョンで動くサンプルコードを探す方が、後々楽になるからだ。

誰かの成果物を動かして、その結果を「別の方法」で処理するならば、
古いバージョンのOpenCVをインストールしよう。
そしてその「別の方法」では最新のOpenCVを使おう。

C++でプログラミング

C++

CっぽいけどCより簡単に書ける。
クラスが使えてハッピー。

Cをマニュアル車だとするなら、C++はオートマ。
Cしか知らない人もC++を覚えたほうがお得。

Visual C++

Visual Studioというマイクロソフトが作った統合開発環境(IDE)がある。
統合開発環境で他に有名なのはJava用のEclipseだ。
どっちも知らない人はこれを機にIDEなるものを体験しよう。

Visual Studioはいろんな言語用のIDEを含んでいて、
Visual C++はVisual Studioの一部である。

プログラムを編集する機能はもちろん、
実行ボタンを押せば、書いたプログラムが実行されるし、
ブレークポイントを置けば、プログラムが自動的に止まる。
そういう便利なやつだよ。

OpenCVとはなんだ

OpenCVとは?

CVはコンピュータビジョン。Openはオープンソース。
だから主に画像をいじりたい人が使うモノ。

基本

画像をいじろう!って思っても、たとえばJPEG画像を色の配列として読み込むだけでも一苦労。
そんなとき、画像を読み込む関数があったら便利。

もっといえば、画像を表す型があったら便利だし、
σを渡したらガウシアンぼかしをかけてくれる関数があったら超便利。

そういう「これがあったら便利だよね」ってのを、どっかのおっさんが用意してくれる。
それがOpenCVだ。

Related Posts Plugin for WordPress, Blogger...