Template matching[1] is a technique in digital image processing for finding small parts of an image which match a template image. It can be used for quality control in manufacturing,[2] navigation of mobile robots,[3] or edge detection in images.[4] The main challenges in a template matching task are detection of occlusion, when a sought-after object is partly hidden in an image; detection of non-
iOS / OpenCV 3.0 で画像の特徴点を検出する(AKAZE, SIFT, SURF, ORB)C++Objective-CiOS画像処理OpenCV 局所特徴量とは / SIFT, SURF 特徴量 下記スライドが超わかりやすかったです。 画像認識の初歩、SIFT,SURF特徴量 で、SIFT (Scale-invariant feature transform)、SURF (Speed-Upped Robust Feature) というのは、拡大縮小・回転・照明変化に強いロバストな特徴量、としてよく知られているようです。 SURF の方が軽量で、その代わり認識精度は SIFT の方が良い、とのこと。 特徴量の用途 複数写真からのパノラマ写真合成 (上述のスライドより) AR のマーカー認識 下記画像はARのマーカー認識とは違いますが、そういう使い方ができそうだ、ということは汲
OpenCV のテンプレートマッチを使って駒を検出 | Moonmile Solutions Blog http://www.moonmile.net/blog/archives/2468 の続きです。 先のテンプレートマッチングが遅かった原因は、2 つあって、 cv::matchTemplate を呼び出して、MaxMin を検索した後に、再び cv::matchTemplate を呼び出しているのが無駄。 元画像をそのままマッチング対象にしているので、低解像度にすれば早くなる? ってところです。 前者の cv::matchTemplate の多重呼び出しは完全にコーディングミスですね。50 個の max を取るのに、いちいち cv::matchTemplate を呼び出す必要はありません。一回だけ呼び出して、その結果の画像を使って 50 個の max を cv::minMaxLoc で
キャリパーはエッジを見つけるためのツールで画像処理ライブラリとしてはあって当たり前のツールです。 そんな今更感のあるキャリパですが、使いようによっては非常に強力なツールになります。おもしろい使い方の紹介はいずれまた別の記事でやります。この記事ではキャリパのごく基本的なことをまとめます。 キャリパツールの動作 キャリパツールは、大きく分けて下記の3ステップで構成されています。 Affine変換により検出領域を水平な長方形に変換します プロジェクション処理により領域内のデータをエッジ検出方向に垂直に加算し、1次元の配列データに変換します 1次元の畳み込みフィルタにより1次元の配列からエッジを検出します もし、VisionProをお持ちでしたら、図解入りの詳しい解説は、VisionPro→ユーザーズガイド→計測→キャリパ→理論ガイドをご覧ください。 CVLの場合は、Vision Tool Gui
今回は、IkaLogの開発をふりかえりながら、IkaLogの画像処理の基本的な考え方、そしてその背景などについて説明します。 はじめての画面認識の検討 第1回で紹介したとおり、まずはゲームの画像に対してどのような処理をすれば画像認識を達成できるかを検討し始めました。 最初に、スプラトゥーンのプレイ動画を録画してみて、録画を何度か眺めてみました。幸いなことに、スプラトゥーンのゲーム中では、多くのメッセージはたいてい白色で、いつも画面上の同じ位置に表示されます。このため、白色の部分だけを抜き出して、OpenCVのテンプレートマッチング機能を利用して表示内容を検出すればいいのではないかと考えました。 スプラトゥーンのシステムメッセージが真っ白な色で表示されるということは、256階調のグレースケール画像として処理したときに、文字に近いところは255に近い値であり、つまりは非常に高いスレッショルド(
15.4. optparse — より強力なコマンドラインオプション解析器¶ バージョン 2.3 で追加. optparse モジュールは、昔からある getopt よりも簡便で、柔軟性に富み、かつ強力なコマンドライン解析ライブラリです。 optparse では、より宣言的なスタイルのコマンドライン解析手法、すなわち OptionParser のインスタンスを作成してオプションを追加してゆき、そのインスタンスでコマンドラインを解析するという手法をとっています。 optparse を使うと、GNU/POSIX 構文でオプションを指定できるだけでなく、使用法やヘルプメッセージの生成も行えます。 optparse を使った簡単なスクリプトの例を以下に示します。 from optparse import OptionParser [...] parser = OptionParser() pars
適応的閾値処理 (Adaptive Thresholding) を使うサンプルです。 始めからぶっちゃけますと cvAdaptiveThreshold を使え、という話になりますが、本記事はそれだけでは終わりません! OpenCvSharpでは、OpenCV標準では用意されていない適応的閾値処理を、こっそり組み込んでいます。今回、初めてそれを公にしておきます。 OpenCvSharpをつかう 記事一覧 背景 適応的閾値処理は、様々な応用がありますが、特に文書画像処理においては必須の処理です。 例えば以下のような画像(左)を二値化したいとします。このとき、みなさんご存じ 大津の手法 では、(右)のようになってしまいます。 カメラで撮影した場合や古い文書の画像では特に、このような影やシミ等があるのが普通で、明るい部分でうまくいく閾値では高すぎて影部分では全部真っ黒になります。 もし仮に影がもっ
ちょっと昔のリリースになるのですが、FFmpeg 2.1から動画の一部分を切り出す性能が大幅に上がりました。ここでは、バージョン2.1以降のFFmpegを前提に、動画を素早く正確にカットする自分的ベストプラクティスをメモします。 ※ドキュメントをよく読めば書いてあるのですが、結構ハマりどころなので自分でテストもしてみました はじめに...結論を はじめに結論を言ってしまうと、バージョン2.1以降であれば 開始地点(-ss)はソースの指定(-i)より手前に置く 必ずエンコードする(-codec copyとかやらない) とやるのが一番正確に(かつそこそこ速く)カットできます!例えばこんな感じです。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く