タグ

opencvに関するclngnのブックマーク (15)

  • ゆゆ式を無限に楽しみたかった話 〜 ゆゆ式 Advent Calendar 2014 20日目 〜 - しゅみは人間の分析です

    ある日のこと、後輩たちがこんなことを言いました。 「ゆゆ式のコマをランダムに並びかえたら無限にゆゆ式が楽しめるのでは?」 真面目に計算してみると、10の15乗くらいの組み合わせができることがわかりました。 この記事ゆゆ式アドベントカレンダー20日目は、そんな無限にゆゆ式をたのしむためのシステムを真面目に作ってみた話をします。 コマの切り出し 漫画のコマを並び替えるためには、コマがバラバラな画像として存在していなければなりません。 なので、まずは自炊で電子化された書籍をコマの線にそって切り出していく処理を自動化することにしました。 上の図がふつうの4コマの1ページですね。これの枠線を識別して、1ページから8枚のコマを取り出してくる方法を考えます。 ハフ変換で直線検出 OpenCVという画像処理のライブラリに直線を検出するツールがあったので、まずこれを試してみました。 が、結果はこのとおり。

    ゆゆ式を無限に楽しみたかった話 〜 ゆゆ式 Advent Calendar 2014 20日目 〜 - しゅみは人間の分析です
  • 数独を解く(画像解析) - cuspy diary

    画像として与えられた数独を解きます。 新聞に掲載されていたこの問題をOpenCVを使って画像解析する。(画像が斜めなのはワザとです) グレースケール変換画像解析の前処理として、まずグレースケールに変換し、ガウシアンフィルタをかけてぼかします。ガウシアンフィルタをかける事で、安定した二値化画像が得られます。 二値化次に二値化を行います。 二値化には、普通の方法、大津さんの手法、適応的二値化、などさまざまな手法が在ります。いろいろ試した所、適応的二値化(Adaptive Threshold)が最も数独の認識に適していることが解りました。 適応的二値化(Adaptive Threshold)であれば、影になってしまった部分も上手く処理できます。 膨張処理次に、数独の盤面の外枠を認識を行います。 二値化の影響で枠線が途切れてしまう可能性がありますので、膨張処理(dilate)を行います。 (膨張処

    clngn
    clngn 2012/07/02
  • OpenCV for Linux

    手っ取り早くOpenCVLinuxで利用するための日語リファレンス 環境構築 情報 ● yahooOpenCVグループ 英語です.非常に有用です.メンバになりましょう. インストール 以下のページに,非常に分かりやすく書かれています. VineLinux2.6にインストールする場合には,アップグレードする必要のある プログラムがいくつかあります../configureの結果をよく読みましょう. VineLinux3.1だと結構すんなりインストールできます. ● IPL, OpenCVを使った画像処理プログラミング ● Linux + OpenCV + 1394カメラ HOWTO 画像のキャプチャ Video4Linux(V4L)を用いてIPL画像に格納します. NTSCカメラとキャプチャボードを使います. 私はVineLinux2.6を使っていますが,V4Lは特に設定する必要が

    clngn
    clngn 2012/01/12
    パターンマッチング、物体検知、パターン認識
  • 画像認識の初歩、SIFT,SURF特徴量

    6. 画像特徴量の変遷 第一世代 第二世代 第三世代 対象物全体 局所情報 局所情報のつな 輝度分布 SIFT がり wavelet SURF Haar-like Joint Haar-like HOG Joint HOG Shapelet 1990年代 2000 - 2005 2006 - 現在 7. 局所特徴量 SIFT 1999 •Google の論文で言及http://www.esprockets. com/papers/www2008-jing-baluja.pdf。ただし、アルゴリズムが著作 権で守られている。C#ライブラリ libsift, OpenCV SURF 2006 SIFT の処理速度改良版。OpenCV haar-like特徴 2001 近接する2 つの矩形領域の明度差 Haar- 顔認識に用いられ(OpenCVの顔検出) like HOG(Histogram o

    画像認識の初歩、SIFT,SURF特徴量
  • その他の画像変換 — opencv 2.2 documentation

    cv::adaptiveThreshold¶ Comments from the Wiki void adaptiveThreshold(const Mat& src, Mat& dst, double maxValue, int adaptiveMethod, int thresholdType, int blockSize, double C)¶ 配列に対して,適応的な閾値処理を行います. src – 8ビット,シングルチャンネルの入力画像. dst – src と同じサイズ,同じタイプの出力画像. maxValue – 条件を満足するピクセルに割り当てられる非0の値.説明を参照してください. adaptiveMethod – 利用される適応的閾値アルゴリズム: ADAPTIVE_THRESH_MEAN_C または ADAPTIVE_THRESH_GAUSSIAN_C (説明を参照して

    clngn
    clngn 2011/11/18
    cv::grabCut
  • 3日で作る高速特定物体認識システム (1) 物体認識とは - 人工知能に関する断創録

    情報処理学会の学会誌『情報処理』の2008年9月号(Vol.49, No.9)に「3日で作る高速特定物体認識システム」という特集記事があります。OpenCVを用いた面白そうなプロジェクトなのでレポートにまとめてみようと思います。3日でできるかはわからないけど。 残念ながらこの記事はPDFを無料でダウンロードすることができません(CiNiiでオープンアクセス可能になったみたいです)。なので会員以外で元記事が読みたい人は図書館でコピーする必要があるかも・・・また、2009年9月号の人工知能学会誌にも物体認識の解説「セマンティックギャップを超えて―画像・映像の内容理解に向けてー」があります。こちらも非常に参考になりますが同様にPDFが手に入りません・・・。他にもいくつかわかりやすい総説論文へのリンクを参考文献にあげておきます。 物体認識とは 物体認識(object recognition)は、画

    3日で作る高速特定物体認識システム (1) 物体認識とは - 人工知能に関する断創録
    clngn
    clngn 2011/11/18
    SIFT
  • k-meansクラスタリングによる画像分割,減色 | OpenCV.jp

    C #include <cv.h> #include <highgui.h> #define MAX_CLUSTERS (10) /* number of cluster */ int main(int argc, char** argv) { int i, size; IplImage *src_img = 0, *dst_img = 0; CvMat tmp_header; CvMat *clusters, *points, *tmp; CvMat *count = cvCreateMat( MAX_CLUSTERS, 1, CV_32SC1); CvMat *centers = cvCreateMat( MAX_CLUSTERS, 3, CV_32FC1); const char *imagename; // (1)load a specified file as a 3-chann

    clngn
    clngn 2011/11/18
  • opencv.jp - OpenCV: 画像分割,領域結合,輪郭検出(Image Segmentation, Connected Components and Contour Retrieval)サンプルコード -

    #include <cv.h> #include <highgui.h> int main (int argc, char **argv) { int level = 4; double threshold1, threshold2; IplImage *src_img = 0, *dst_img; CvMemStorage *storage = 0; CvSeq *comp = 0; CvRect roi; // (1)画像の読み込み if (argc >= 2) src_img = cvLoadImage (argv[1], CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR); if (src_img == 0) exit (-1); // (2)領域分割のためにROIをセットする roi.x = roi.y = 0; roi.width

    clngn
    clngn 2011/11/18
    Watershed, FindContours
  • まとめ?ブログ OpenCV 3 -画素アクセス + 高速化-

    OpenCVの使い方として画像処理の基であるラスタスキャンによる画素の参照方法とその画素参照の高速化についてまとめる. 基的に画素を参照できれば,全ての画像処理は実装できる.(はず…) なので,あとはアルゴリズムを理解すれば画像処理はできるといっても過言ではない.(過言である) OpenCVで画素を参照するには,幾つかの方法があるので紹介する. 方法によっては高速に画素へアクセスできる. 基的には画像を扱う基構造体のIplImageを用いることにする. (記事内容が間違っている可能性があるので鵜呑みにしないで下さい!!!) 【IplImage構造体の構成】 IplImage構造体はOpenCVで画像データを扱う構造体である. なぜCvImageじゃないのか?というとIplImageはもともとOpenCVのベースになったIPL(Image Processing Library)という

    clngn
    clngn 2011/10/24
  • OpenCVとCUDA FFTでパターン認識 その1

    今更ながら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とCUDA FFTでパターン認識 その1
    clngn
    clngn 2011/10/13
    手の領域抽出, YCrCb
  • AndroidとOpenCVで試す特定物体認識 - 遥かへのスピードランナー

    6月2日に開催されたDevLOVEさんと弊社の共同開催勉強会で、「Android×ComputerVision」というお題で発表してきました。 要はOpenCVAndroidアプリに組み込んで特定物体認識を試そう、というもの。 資料は以下です。 20110602_MTI×DevLOVE発表資料「Android×ComputerVision」 View more presentations from Takahiro Horikawa ソースはgithubで公開してます。 https://github.com/thorikawa/AndroidObjectRecognition/ 概要 資料にも記載していますが、カメラのプレビュー画像からSURFの特徴点を検出して、LSHで再近傍検索→特定物体認識というのを毎フレーム行っています。 「物体」はCDのジャケット画像を5枚の内から認識して、それ

    AndroidとOpenCVで試す特定物体認識 - 遥かへのスピードランナー
    clngn
    clngn 2011/09/17
    SURF
  • 結局なんやねん! OpenCVで物体検出 - createsamples.exe

    なんとか自前でトレーニングしてテストできる環境になったので,忘れる前に書いておこう. ディレクトリの初期構造は以下の通り.各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の顔検出プログ

    clngn
    clngn 2011/09/17
  • OpenCV.jp : OpenCV逆引きリファレンス — OpenCV-CookBook

    OpenCV.jp : OpenCV逆引きリファレンス¶ 基的に OpenCV (と依存ライブラリ),および標準ライブラリ以外は使用しません. OpenCVはEigenなしでも利用できますが,このサンプルの中にはEigen必須のものもあります. また,2.4.0以降に導入された書式には一部対応しておらず,古い書き方で書かれているサンプルもあります. 指摘や訂正,リクエストなどは OpenCV.jp か, @idojun (Twitter) まで. OpenCV 2.4.0 対応:

    clngn
    clngn 2011/09/09
  • さくらVPSにOpenCVをインストールしてPythonから使う – Rest Term

    OpenCV2.2をさくらVPS(CentOS 5.5)にインストールして、 PythonバインディングをWSGIアプリケーション(mod_wsgi)から使ってみます。 構築手順はOpenCV – 2.x – Tech Noteに書いておいたので参考までに。 OpenCV2.2からはNumPyを利用したPythonインタフェースを利用できるようになりました。 画像データを通常のNumPy配列(numpy.ndarray)として扱えるので大変便利です。 Pythonバインディング (NumPy利用) $ python Python 2.7.1 (r271:86832, Feb 18 2011, 03:06:36) [GCC 4.4.0 20090514 (Red Hat 4.4.0-6)] on linux2 Type "help", "copyright", "credits" or "l

    さくらVPSにOpenCVをインストールしてPythonから使う – Rest Term
  • ARToolKitの物体認識 その② 指認識 - Pipe Render

    最近はARToolKitのプログラムも少しできてきたので、 次は手とかをそのまま認識させたいと思っていました。 そしたらちょうどmasafumiさんという方のブログで手認識を使ったARという記事を見つけました。 この方法は認識精度が高そうなので、twoViewでの物体認識にも使えそうです。 この手認識ARの研究は、手を認識することによってマーカーの代わりにしようというものです。 ソースも公開されているので、すぐにこのプログラムを使った動画がアップされています。 見ての通り、指認識の精度は非常に高いです。 というわけで今回は、この指認識のアルゴリズムだけをいただき、 この情報を元にtweVIewから指の3次元座標を計算してみました。 これで綿棒や色の付いた目印を使う必要がなくなります。 --- < 指認識の概要 > --- 指認識では、おおまかに以下のような処理を行っています。 1.手の色に

  • 1