全く同じ画像だけではなく、より幅広く'似てそう'な画像を探します。 OpenCVのインストール OpenCVのインストールに関するページがネット上に多数あることから、OpenCVのインストールの難しさ(というより、やっかいさ?)が伺えますが、例に違わず僕もOpenCVのインストールに手間取ってしましました。 最終的には、 ・brewでインストールしたnumpy, opencv3をアンインストールした上で、 ・pip3 install opencv-python でopencvがpyhtonで使えるようになりました、のでご参考までに。 画像類似度計算 ヒストグラムの類似度により、画像の類似度を計算します。 ヒストグラムとは画像の明度の分布のことです。(ヒストグラム - CyberLibrarian) OpenCVのcalcHist()関数で画像のヒストグラムを計算できます。 またヒストグラム
static void cvtDepth2Cloud(const Mat& depth, Mat& cloud, const Mat& cameraMatrix) { const float inv_fx = 1.f / cameraMatrix.at<float>(0, 0); const float inv_fy = 1.f / cameraMatrix.at<float>(1, 1); const float ox = cameraMatrix.at<float>(0, 2); const float oy = cameraMatrix.at<float>(1, 2); cloud.create(depth.size(), CV_32FC3); for (int y = 0; y < cloud.rows; y++) { Point3f* cloud_ptr = (Point3f*)
「OpenCV 3.0」には、およそ1500のパッチが適用されるとともに、「opencv_contrib」リポジトリが追加されている。また、インテルIPP(インテグレーテッド・パフォーマンス・プリミティブ)のサブセットであるIPPCVを、商用/非商用を問わず無料で利用できる。 新機能としては、OpenCLを使ったGPUアクセラレーションへの透過的なアクセスを可能にするT-API(transparent API)を追加している。ただし、T-APIはコンパイル時やランタイム環境では利用できない。 さらに、ARMのNEONでは、およそ40のアクセラレーション機能を利用可能で、NEONに最適化されたコードを作成できるOpen CVアクセラレータである、Open CV HALレイヤーも用意する。 このほか、features2dやcalib3d、objdetectなどのアルゴリズムの整理や、Pytho
After flying this past weekend (together with Gabriel and Leandro) with Gabriel’s drone (which is an handmade APM 2.6 based quadcopter) in our town (Porto Alegre, Brasil), I decided to implement a tracking for objects using OpenCV and Python and check how the results would be using simple and fast methods like Meanshift. The result was very impressive and I believe that there is plenty of room for
・RTミドルウァア ・OpenCV インストールからプログラミングの実践まで解説します。 RTミドルウェアの解説はロボコンマガジンで連載している記事と連動しています。
単眼カメラを用いた簡易的な距離計測の手法を紹介します。 一般的に単眼カメラの方法(カメラ1台)はステレオ法(カメラ2台)と比べると「計算コスト」「金銭コスト」「設置場所の制約コスト」の面で優れています。ただし、精度の面では劣ります。 今回は、「物体がカメラに近づけば画像上に大きく映り」「遠ざかれば小さく映る」ことを利用し、物体までの距離を測定します。 $L_1$を基準距離,$L_2$を測定したい対象物体までの奥行き距離とします。 また、対象物体が$L1, L2$の位置にあるときの画像上の長さをそれぞれ$h_1, h_2$、面積を$S_1, S_2$とします。 このとき、画像上の長さに着目すると、事前に$L_1$と$h_1$を求めれば距離$L_2$はつぎの式で計算できます。 \begin{eqnarray} L_2=L_1\frac{h_1}{h_2} \label{eq:1} \end{
OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。 記事録をみてたらOpenCV Challengeが開催されるとのこと 概要はここ 以下大まかな訳 編集中のようであり、変わる可能性がある。下記内容は9日20時のものである。 下記の6のカテゴリーで、総額5万ドルの実装コンテストを行う - Image segmentation - Vision-based Simu
OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。 OpenCV2.4.3でLucas-Kanade法がサポートされているので試してみた calcOpticalFlowPyrLKは、指定した特徴点集合に対してのみオプティカルフローを計算する仕様なので、事前に GoodFeaturesToTrackDetectorを用いて、特徴点集合を求めておく 特徴点集合は、以前
AR.Drone使ってるくせにARってほとんどやったことないんですよね。 「AR ToolKit使わないの?」というコメントを以前頂いたり、実際にCV Droneに組み込んだものを見せてもらったりしました。 それで、いざやってみるか!と思ったのですが...ライセンスがGPLだったのであえなく没に。 でも今どき、AR(せめてマーカ有り)ぐらいできないとなーと思い、他を探したらありましたよ。 ArUco OpenCVベースでBSDライセンスとか気が利きますね! マーカの生成はここから↓ OVERVISIONのARマーカー生成アプリをarucoから切り出したので配布する ただ、現在CV Droneが提供しているサンプルはこれではなく「Mastering OpenCV」の互換ライブラリを用いています(マーカ自体はArUcoのものが流用できます)。 いや、サンプルのためだけに依存するライブラリを増や
今まで自分が見つけたコンピュータビジョンの研究に役に立ちそうなフリーのライブラリやソースコードをまとめてみました。自分ではまだ使っていないものも多いので、そこはご容赦を。主にC/C++が中心です。 またライブラリ形式でない、いわゆる学会で発表した研究のコードをそのまま公開しているという人がたくさんいて、それに関しては特にメジャーなもののみ紹介しています。なにぶん僕の観測範囲は限られてますので、「このライブラリに触れないのはおかしい」、「説明が間違っている」等、ご意見大歓迎です。 定番(Standard) OpenCV 定番中の定番です。コンピュータビジョンに関して広範なアルゴリズムが実装されています。 http://code.opencv.org/projects/OpenCV/wiki/WikiStart Point Cloud Library 3次元点群データを扱うならこれ。Kinec
ARに使えるOpenCVで作る画像認識Androidアプリ:モバイルARアプリ開発“超”入門(6)(1/3 ページ) オープンソースの「OpenCV」で画像認識しよう これまでの連載第2回「NyARToolKitでマーカー型ARのAndroidアプリを作る」や第3回「NyARToolKit for Androidよりも簡単なAndARとは」で紹介した、Androidで利用可能なオープンソースのAR(拡張現実)ライブラリ「NyARToolkit for Android」「AndAR」では、「縁が黒いマーカー」を認識していました。 しかし、そういったマーカーしか使えないと、デザイン面などで大きな制限があることになります。 そこで今回は、オープンソースのコンピュータヴィジョンライブラリである「OpenCV」(Open Source Computer Vision)を利用した、画像認識アプリの作成
今更ながらPRMUのアルゴリズムコンテスト2011課題をやってみたいと思います。 ttp://www.ccm.media.kyoto-u.ac.jp/alcon2011/ 既存のものを使うだけでアルゴリズム的に新しい所はありません。 また、難しいことは考えていないのでLevel-1の課題だけやります。 課題はじゃんけんの勝敗判定を画像処理で行うものです。 今回考えた処理の流れは以下の通りです。 1. 肌色検出で手の領域を抽出 2. 手の領域の輪郭線を抽出 3. 輪郭線をフーリエ記述子で表現 4. フーリエ記述子でパターン認識 なぜフーリエ記述子を使うのかというと、CUDAのFFTを試してみたかったからです。 1. 肌色検出 肌色検出で検索すると、HSVのHueを使う方法とYCrCbのCrCbを使う方法があるようです。 両方試してみましたが、今回の課題の画像ではCrCbを使った方がきれいに取
OpenCV の開発者は非常に多くの機能を実装し提供してくれていますが,最も基本となる画素値への参照にはあまり関心がないようです.CV_IMAGE_ELEM や cvGet*D cvSet*D という機能は用意されていますが,使いにくくしかも安全ではありません. というのも,画素へのアクセスで座標やチャンネル座標を間違えてしまうと領域外のアクセスになってしまうかもしれないからです(どこかの領域を破壊してしまうかもしれません).また,間違えた結果たまたま領域内の意図したのとは違う要素へのアクセスになってしまうかもしれません.さらに,画像の深度ビットに応じたキャストも必要になってきますが,実際にアクセスする画像の深度ビットに対応した型でキャストしなければなりません. これは配列の添字と同じで,どんなに洗練されたプログラマが細心の注意を払っていても間違え得る問題です. OpenCV は C で実
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く