こんにちは。 コンピュータビジョン(『ロボットの眼』開発)が専門の”はやぶさ”@Cpp_Learningです。 最近は、PythonとOpenCVを使った画像処理にハマっています! OpenCV便利ですよね~画像処理に関する知識があまりなくても、関数をレゴブロックのように繋げるだけで目的の処理ができますからね~ ただ、OpenCVが便利すぎるせいで『画像処理の基礎』を学ぶ機会を失っている人が多いような気がしています。。
全自動水玉コラ生成マシーン 聖夜なので表題のものを作った。 https://github.com/onk/auto_circle_collage processing で書いたアプリだけど、この記事の内容はほぼ OpenCV の話です。 仕組み 水着を自動認識して「隠す」とマーク 顔を自動認識して「見せる」とマーク マークに沿って円充填 水着領域の自動認識 最初のアプローチ OpenCV を使って肌色認識 選択領域を膨張 -> 収縮させる 肌色との差分を取れば水着領域が完成 肌色認識 先人が大量に居た。RGB 色空間ではなく HSV 色空間を使うというのがコツなようだ。 HSV色空間 - Wikipedia HSV 色空間なら影になっている部分も抽出できる。 今回は Hue: 7..15 を肌色として定義した。 PImage detectHada() { // 作業用に hue で gra
前にもOpenCV(というかArUco)の座標系で悩みましたが、再び参上です。 そもそもOpenCVってどういう座標系なのかってことも知らなかったのですが検索してみてもハッキリ明言しているサイトがなくて、唯一見つけたこちらのサイトを信用するならば、OpenCVは+Xが右、+Yが下、+Zが正面(奥)の右手座標系らしいです。 僕が使いたいのはOpenGLで一般的に使われている+Xが右、+Yが上、+Zが手前の右手座標系。なので、モデルビューマトリクスだけを考えると、(x,y,z)=(1,-1,-1)のスケールを掛ければよいということがわかります。 さて、OpenCV(+ArUco)を使ったプログラムでチェスボードによるカメラキャリブレーション後にチェスボードの3次元座標(位置と向き)を取得しようとして再度ハマッてしまったのですが、試行錯誤しているうちにふと思いついたことが一つ。カメラキャリブレー
OpenCV公式サイトのNEWSを見てたら「Image Watch plugin for Visual Studio」というのを見つけた.使ってみたら便利そうだったのでメモ.もっと早く知りたかった. わざわざimshowとかのコードを追加してウィンドウを表示させなくてもMatの中の画像を確認できる.また,拡大表示とか画素値の表示も出来るため通常のOpenCVの画像表示用のウィンドウより便利な気がする. Image Watch plugin for Visual Studioのインストール 以下のサイトからダウンロードしてきて指示にしたがってインストールするだけ. Image Watch extension 以下のサイトに詳しい手順等載ってます. Image Watchの使い方 | dandelion's log 使ってみる 以下のコードで試してみた.画像を表示させるためのコードは特に必要な
opencv_contribを見てたら,DeepFlowというオプティカルフローのアルゴリズムが実装されていたので勉強ついでに使ってみる. DeepFlow DeepFlowはコンピュータビジョンの分野では有名な国際学会ICCV2013でWeinzaepfelらによって発表されたアルゴリズムである. HAL - INRIA :: [hal-00873592, version 1] DeepFlow: Large displacement optical flow with deep matching DeepFlowではDeep Matchingという画像のマッチング手法(これも同論文内で提案されている)を用いてオプティカルフローを求めている. 以下の画像にアルゴリズムの全体像がまとめられている. LEAR - DeepMatchingFlow パワーポイントの資料はこちら Deep Ma
局所特徴量とは / SIFT, SURF 特徴量 このスライドが超わかりやすかったです。 画像認識の初歩、SIFT,SURF特徴量 from takaya imai で、SIFT (Scale-invariant feature transform)、SURF (Speed-Upped Robust Feature) というのは、拡大縮小・回転・照明変化に強いロバストな特徴量、としてよく知られているようです。 SURF の方が軽量で、その代わり認識精度は SIFT の方が良い、とのこと。 特徴量の用途 複数写真からのパノラマ写真合成 (上に載せたスライドより) AR のマーカー認識 下記画像はARのマーカー認識とは違いますが、そういう使い方ができそうだ、ということは汲んでいただけるかと。。 (http://docs.opencv.org/3.0-rc1/d7/dff/tutorial_fe
はじめに 先日の Jubatus Casual Talks で、OpenCVを使った一般物体認識の概要と、注意しなければならないポイントについて発表させていただきました。 Jubatus opencv from Kazuya Gokita 詳しくは上記のスライドを御覧ください。 一般物体認識とは 要するに、画像を与えた時にそこに何が写っているのかを推定することです。 ゾウの写真ならゾウ、自転車の写真なら自転車だとコンピュータに判断させるのが目的です。 ところが、これがなかなか難しい問題であまりうまくいっていません。 Googleの画像検索は一見この問題を解決しているように見えますが、画像検索の場合はその画像の周辺にあるテキスト情報が利用できるのでちょっと違います。 たとえば、写真のすぐ下に「ウサギかわいい」って書いてあったらたぶんウサギの写真だろうと判断できます。 このような情報が与えられ
パラメータのロバスト推定によく使用されているというRANSAC。 コンピュータビジョンの本にもところどころ出てきていますが、 どんなものなのかははっきりわかっていませんでした。 というわけで、色々と調査してみました。 Czech Technica大学の教材のPDFやおべんきょうWikiを見て調べたところ、 RANSACのアルゴリズムは、下記のようになっていました。 1.総データ個数がU個あるデータから、ランダムでn個のデータを取り出します。 2.取り出したn個のデータから、パラメータを求めます。 (取り出すデータの個数ですが、これは求めるべきパラメータの数に比例するようです) 3.求めたパラメータを、総データ点数から取り出したn個のデータを除いたものに式を当てはめ、 観測されたデータと2.で求めたパラメータの誤差を計算します。 4.誤差が許容範囲内であれば、パラメータに対して投票を行います
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く