The newest version of our object detection system is available here
マルチチャンネルと多次元配列¶ OpenCV 2.2 以降,2次元配列用の cv::Mat クラスと,多次元配列用の cv::MatND クラスが統一されました.つまり,現在は, cv::Mat で任意次元の配列を表現します. しかし,今まで cv::Mat を引数に取っていた関数が,すべて「多次元(>=3次元)」の Mat に対応しているとは限らないので注意が必要です. OpenCVの構造には,次元とチャンネルの概念があります. チャンネル(channel):要素の次元 次元(dimension):複数の要素からなる配列の次元 マルチチャンネル多次元配列の例(Dim=2 Ch=2, Dim=2 Ch=1, Dim=2 Ch=3, Dim=3 Ch=4): 上記の例のように, や の配列は,1次元ベクトルではなく,1行の2次元行列と見なされることに注意してください.つまり,Mat の次元は
作成者: 怡土順一, 最終変更者: 怡土順一, 最終変更リビジョン: 405, 最終変更日時: 2008-10-29 12:32:09 +0900 (水, 29 10月 2008) ■ ウィジェット(コントロール) OpenCV-1.0.0で利用できるウィジェット(コントロール)は,画像を表示するためのウィンドウ,およびトラックバーのみである. 複雑なGUIデザインやイベントを適切に読み飛ばすといった処理が難しく, カメラキャプチャにおいても解像度の変更やフレームレートの設定などに難点 があるので,簡単なテストプログラム以外では,別のライブラリを利用するほうが無難である. #include <cv.h> #include <highgui.h> #include <stdio.h> /* グローバル変数 */ CvFont font; IplImage *img = 0; /* プロトタイ
#include <iostream> #include <opencv2/core/core.hpp> #define OPENCV_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) #define OPENCV_VERSION_CODE OPENCV_VERSION(CV_MAJOR_VERSION, CV_MINOR_VERSION, CV_SUBMINOR_VERSION) int main(int argc, char *argv[]) { std::cout << "version: " << CV_VERSION << std::endl; std::cout << " major: " << CV_MAJOR_VERSION << std::endl; std::cout << " minor: " << CV_MINOR_VE
opencv(日本語ドキュメント)と、perlから利用するためのモジュールImage::ObjectDetectを使って独自の画像を認識させる方法のメモ。 まず、Ubuntuでのインストール opencvはシステム→システム管理→Synapticで,編集→検索から"opencv”と入力する。libcv-dev、libcv1などが表示されるので、ダブルクリックで選択して、適用ボタンを押すと、関連するパッケージ一式が/usr/share/opencv以下あたりにインストールされます。 次にperlからopencvを使うためのImage::ObjectDetectは、 sudo cpan Image::ObjectDetect Imageropencvがインストールされていないと、エラーが出るので、順番はopencv→Image::ObjectDetectの順で。 顔認識 OpenCVを使って画
なんとか自前でトレーニングしてテストできる環境になったので,忘れる前に書いておこう. ディレクトリの初期構造は以下の通り.各exeファイルはOpenCVのインストールディレクトリから取ってこよう(ひょっとするとビルドし直さないといけないかも?). bg/ negative.txt classifier/ positive_samples/ pos_1.jpg pos_2.jpg ... pos_100.jpg negative_samples/ neg_1.jpg neg_2.jpg ... neg_100.jpg test/ lena.jpg test.txt vec/ xml/ createsamples.exe facedetect.exe haarconv.exe haartraining.exe performance.exe positive.txt OpenCVの顔検出プログ
■安定版をインストール(バイナリから) 1.インストーラ付き実行ファイル(OpenCV-2.1.0-win32-vs2008.exe)をダウンロードします. 配布場所:http://sourceforge.net/projects/opencvlibrary/files/ 2.インストーラを実行してインストールを行います. インストール時に,環境変数PATHに追加するか否かを聞かれるので,問題ない場合は追加してください. ■安定版をインストール(ソースから) 1. ソースコード(OpenCV-2.1.0-win.zip)をダウンロードします. 配布場所:http://sourceforge.net/projects/opencvlibrary/files/ ダウンロードしたファイルは,任意の場所に展開します.ここでは,展開場所を “D:/OpenCV-2.1.0/” とします. 2. TB
Bijostagram(びじょすたぐらむ)というWebサービスを作ってみました。 Bijostagram - Cute Girls on Instagram きれいなおねいさんは、好きですか? Bijostagramとは? Bijostagramは、きれいなおねいさんの画像がたくさん眺められるサービスです(個人的に作りました)。一番の大きな特徴は、Instagramから自動的にきれいなおねいさんの画像を集めてくる、というところです。Bijostagramでは、集めてきたおねいさん画像をランダムに表示しています。 Instagramは写真版Twitterで、しかも撮影した画像をオサレな感じで加工できてツイートできるというサービス。2月末に公式のAPIが公開されたので、いじってみました。→インスタグラムのAPIについてはこちら Bijostagramは、画像抽出と画像配置のアルゴリズムをPer
ついさっきまでMaxの話を書いていたわけですが、いまはプログラミング。 OpenCVで顔画像認識、というタイトルのエントリーを結構時間かけて、しかもスクリーンショットつきで書いていたのに、突然マウスごと止まった…。ハードディスク異常! 再起動すると、Ubuntuが起動し始めた…なんだろう?? うーん、これってハードディスクが壊れたってことか…?ってゆか、このマシンにUbuntu入れた記憶無いんですけど…と思ったらUSBハードディスクからの起動だった。すごいなDELL Dimension 9100。 とりあえず無事再起動は終わったみたいなので、被害状況を確認。 ...レンダリングは駄目っぽいなあ。 書きかけのBlogは消えた。わかってはいるがつらいな。 Google Docs使うか…。 Maxの文字が日本語化けしてて驚く。多分これはさっきコントロールパネルで「非Unicodeアプリの言語設定
CMakeを用いてVisual Studioのプロジェクトを作るここを参考にOpenCVのソースからVisual Studioのプロジェクトを作成する。http://d.hatena.ne.jp/Guernsey/20091002/1254459730 「アプリケーションを正しく初期化できませんでした (0xc0150002)」というエラーダイアログがでないようにするためにCMakeのConfigure時にでENABLE_OPENMPを外す。http://d.hatena.ne.jp/Guernsey/20091120/1258734848スタティックリンクライブラリをビルドするために 「構成プロパティ」→「全般」で「構成の種類」をダイナミックライブラリからスタティックライブラリに変更する DllMain()をコメントアウトopencv-1.1preからvideoInput.libをリンク
画像処理におけるマルチスレッドの利活用(OpenCV編)ではWindows向けマルチスレッドプログラミングの紹介をしましたが,Linuxでも使えるよう,pthreadを用いたプログラムも紹介しておきます. ここでは,HANDLEの代わりにpthread_t,CreateThread関数の代わりにpthread_create,WaitForSingleObjec関数の代わりにpthread_joinを使います. #include <sys/types.h> #include <pthread.h> #include <cv.h> #include <highgui.h> #include <windows.h> #include <cv.h> #include <highgui.h> // スレッドに渡すデータをまとめた構造体 struct captureparam{ CvCapture *
情報処理学会の学会誌『情報処理』の2008年9月号(Vol.49, No.9)に「3日で作る高速特定物体認識システム」という特集記事があります。OpenCVを用いた面白そうなプロジェクトなのでレポートにまとめてみようと思います。3日でできるかはわからないけど。 残念ながらこの記事はPDFを無料でダウンロードすることができません(CiNiiでオープンアクセス可能になったみたいです)。なので会員以外で元記事が読みたい人は図書館でコピーする必要があるかも・・・また、2009年9月号の人工知能学会誌にも物体認識の解説「セマンティックギャップを超えて―画像・映像の内容理解に向けてー」があります。こちらも非常に参考になりますが同様にPDFが手に入りません・・・。他にもいくつかわかりやすい総説論文へのリンクを参考文献にあげておきます。 物体認識とは 物体認識(object recognition)は、画
C++ #include <iostream> #include <string> #include <cv.h> #include <highgui.h> using namespace std; using namespace cv; int main(int argc, char *argv[]) { // (1)load Color Image const char *imagename = argc > 1 ? argv[1] : "../image/lenna.png"; Mat colorImage = imread(imagename,1); if(colorImage.empty()) return -1; // (2)convert Color Image to Grayscale for Feature Extraction Mat grayImage; cvtCol
ここでは PCA を OpenCV の関数を用いて行うことについてのみ説明します.PCA とは何かなどについては他のサイトや書籍を参考にされて下さい. OpenCV には PCA を行うために次の3つの関数が用意されています. cvCalcPCA(const CvArr* data, CvArr* avg, CvArr* eigenvalues, CvArr* eigenvectors, int flags); 1つ目の関数(cvCalcPCA)は,ベクトル集合の主成分分析を行う関数.この関数は,観測されるデータベクトル集合を ,主成分分析によって部分空間へ投影されるベクトルを としたときの連続写像 を求めます. cvProjectPCA(const CvArr* data, CvArr* avg, CvArr* eigenvalues, CvArr* project); 2つ目の関数
うまくいかない日に仕込むラペ 「あぁ、今日のわたしダメダメだ…」 そういう日は何かで取り返したくなる。長々と夜更かしして本を読んだり、刺繍をしたり…日中の自分のミスを取り戻すが如く、意味のあることをしたくなるのです。 うまくいかなかった日のわたしの最近のリベンジ方法。美味しいラペを…
highguiに関数が追加されているけどリファレンスにのってないしもう隠しコマンド状態だ. CvMat *cvEncodeImage(const char *ext,const CvArr *arr, const int* _params); IplImage *cvDevodeImage(const CvMat *_buf, int iscolor); params,iscolorはオプショナルなので,たとえば エンコードなら CvMat *mat=cvEncodeImage(".jpg",img); // imgはIplImage デコードなら CvMat *mat=cvCreateMat(1,datasize,CV_8U); // datasizeはエンコード済みデータの長さ // mat->dataにコピーしてから次の関数を呼ぶ IplImage *img=cvDecodeImag
JPEGファイルのメモリ上でのエンコード・デコード 概要 IJG(Independent JPEG Group)のlibjpegやIPP(Intel Integrated Performance Primitives)を用いて,JPEGファイルをメモリ上で読み書きする. 出力データはOpenCVで使用されるIplImage. 対象者 リアルタイムに画像圧縮・伝送を行いたい人 JPEGファイルをメモリに大量に確保したい人 OpenCVのcvSaveImageに不満があり,JPEGの画質を指定して画像保存がしたい人 JPEG IO ライブラリ ソースコードおよびプロジェクトファイル Visual Studio2005プロジェクトファイルとソースコード.条件はOpenCVがインストールされていること. ダウンロード 関数説明 デコード関数 int cvexJPEGDecode(unsigne
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く