タグ

OpenCVとOpenCV2に関するhariganetのブックマーク (23)

  • Computer Vision Advent Calendar 2013 - PukiWiki

    「Bayer さんに敬意を表して」† 現在販売されているCCDカメラのうち、多くはBayerパターンというものを使っています。 高い業務用のカメラは3CCDと、RGBそれぞれにCCDセンサを持っているのですが、それだと値段が全然違います。 そこで考案されたのが、Bayerパターンです。 この方法だと、各ピクセルごとに、RGBのそれぞれの色が割り当てられます。格子状に並んでるので、緑を2回使って、格子状に並べます。 こんな具合に並べます。 この状態の画像をBayer画像、もしくはRAWフォーマットと呼びます。 RAW(=生)と呼ばれるのは、センサに一番近い状態の生の情報だからでしょう。(未調査) ↑ 言葉で表すと「ポツポツと斑点がある感じのグレースケール画像」です。 そう。CCD1枚で得られた光の強度を記録した画像なので、グレースケール画像です。 OpenCV風に言うと、CV_8UC1です*

  • Computer Vision Advent Calendar 2012 2日目 - PukiWiki

    この記事について† この記事はComputer Vision Advent Calendar 2012の2日目&note{cv-advent-calendar:Computer Vision Advent Calendar 2012, 2012-12-01閲覧};の担当記事 詳しくはComputer Vision Advent Calendar 2012や公式ページ&note{cv-advent-calendar};を参照 ↑ OpenCV とカメラとビデオ† 画像処理やComputer Visionに携わっていると、画像、ビデオやカメラを扱う必要がありますよね。 今回はOpenCVで取り扱えるカメラのプラットフォームに関してご説明。 highgui_c.hとかcap.cppを調べあげてググったものです。 やっつけ記事なので、ツッコミ大歓迎です ↑ カメラ用のプラットフォーム† cvCre

  • Python/OpenCVで顔検出を利用した肌色検出 | ぱろすけのメモ帳

    序論画像から肌色領域を検出する必要は、様々な場面で生じます。たとえば指や腕などをうまく切り分けることができればジェスチャーの認識が容易になります。肌色領域検出によって画像から人を検出するタスクも難易度が下がるでしょう。肌色領域検出は水玉コラを自動生成に役立つなど、愉快なアプリケーションも多くあります。というわけで記事では画像から肌色領域の検出をする手法を提案し、その実装を示し、実験により性能を検証します。修士論文書かなきゃなあと思いながらブログを書くと、構成が自然と論文風になってしまいますね。関連研究関連研究を述べます。Elgammal による肌色検出のチュートリアル [Encyclopedia of Biometrics, 2009] では、肌色領域の検出の方法について説明しています。そこでは、あらかじめ「こういう色が肌色です」と定義しておいて、それをもとに画像から肌色領域を検出すると

    Python/OpenCVで顔検出を利用した肌色検出 | ぱろすけのメモ帳
  • dandelion's log | エンジニアdandelionの備忘録

    2017/10/22(日)に開催された技術書典3にサークル参加してきました。 せっかくなので自分の振り返りも兼ねて記事を書きたいと思います。今後参加される方の参考になれば幸いです。 当日頒布した物 「はじめてじゃないOpenCV」という技術書を頒布しました。 目次はこちらから読むことができます。 なんでこんなタイトルにしたんだっけと思って過去のツイートを辿ると完全に思い付きでタイトルを決めているっぽいですね・・・ あ、のタイトルが決まっていないという大きな問題があったりしますね・・・。「はじめてじゃないOpenCV」でいいかな(適当) — dandelion (@dandelion1124) 2017年9月24日 印刷所 今回、ねこスパーク オンデマンドパックを利用させて頂きました。B5サイズ、50ページ、100部だったので26,800円でした。 選定理由としてはバックアップ印刷所になっ

  • 第1回 OpenCVとは? 最新3.0の新機能概要とモジュール構成

    ご注意:記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「www.buildinsider.net」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。 1. OpenCV 1.1 OpenCVとは OpenCV(正式名称: Open Source Computer Vision Library)は、オープンソースのコンピューター・ビジョン・ライブラリです。コンピューターで画像や動画を処理するのに必要な、さまざま機能が実装されており、BSDライセンスで配布されていることから学術用途だけでなく商用目的でも利用できます。加えて、マルチプラットフォーム対応されているため、幅広い場面で利用されていることが特徴です。 OpenCVは、Intelで開発さ

    第1回 OpenCVとは? 最新3.0の新機能概要とモジュール構成
  • 第3回 OpenCVの環境構築(OpenCV 3.0/3.1)

    ご注意:記事は、@IT/Deep Insider編集部(デジタルアドバンテージ社)が「www.buildinsider.net」というサイトから、内容を改変することなく、そのまま「@IT」へと転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。 1. OpenCVの環境構築 1.1 はじめに 今回の記事では2016/2/5時点で最新のstableリリースであるOpenCV 3.1の環境構築方法について解説します。なお、OpenCV 3.0についても今回紹介する手順と同じ要領で行うことができます。 1.2 環境構築方法 Windows環境かつVisual Studioで、OpenCVを使ったアプリケーションの開発を行うための主な環境構築方法は以下の3つです。

    第3回 OpenCVの環境構築(OpenCV 3.0/3.1)
  • OpenCVで回帰分析プログラムを作る - glass5er's blog

    仕事でデータ解析をしていた折、ああこんなときに統計解析がもっと理解できていたらなと思ったので、勉強がてら回帰分析のプログラムを作りました。 さっそく今週から活躍してくれそうで満足です。 回帰分析 (重回帰分析) ある従属変数yの挙動について、独立変数x(と定数項)を使ってモデル化しようというやつです。というより、仮定したモデルが現象をどれだけ説明できているかを定量化するための方法というほうが個人的にはしっくりきます。 今回は変数が複数ある重回帰分析をするためのプログラムにしました。 重回帰分析 - Wikipedia 最小二乗法で解く 変数yに対してxモデル化した式が以下のような形で表せるとします。 yのサンプルぶんだけ式が作れるので、それらをまとめて行列形式で表します。 未知なのは行列Aの中身、という形で解き進めます。 最小二乗法で解く場合には、Xが正則でない場合を考慮して、 という形で

    OpenCVで回帰分析プログラムを作る - glass5er's blog
  • FaceRecognizer — OpenCV 2.4.13.7 documentation

  • Motion Analysis and Object Tracking — OpenCV 2.4.13.7 documentation

  • AR.Droneで物体追跡(パーティクルフィルタ編) - Puku's Laboratory

    今回はパーティクルフィルタ(ConDensation)を使ったトラッキングを紹介します。 パーティクルフィルタは、モデルの状態を多数の粒子で近似する方法です。 ゴリ押しです。 OpenCV.jpのサンプルでは、尤度(ゆうど)関数がRGB色空間でのユークリッド距離でしたが、 任意色をとるには使いにくいので、サンプルでは「指定した色の重心との距離」を尤度としています。 #include "ardrone/ardrone.h" #include "opencv2/legacy/legacy.hpp" #include "opencv2/legacy/compat.hpp" #define KEY_DOWN(key) (GetAsyncKeyState(key) & 0x8000) #define KEY_PUSH(key) (GetAsyncKeyState(key) & 0x0001) //

    AR.Droneで物体追跡(パーティクルフィルタ編) - Puku's Laboratory
  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode

  • ORB使ってみた - Puku's Laboratory

    特徴点の検出器といえば、SIFT(Scale-invariant feature transform)やSURF(Speed-Upped Robust Feature)が有名です。 どちらもスケール回転不偏特徴量として優れていますが、CV Drone付属のOpenCVライブラリはNON_FREE無効でビルドしているため、これらが使えません。 ORB(Oriented-BRIEF)はOpenCV2.3から実装されたフリーの特徴検出器・記述子で、SIFTやSURFのようにスケール・回転不偏でありながら、SURFの10倍、SIFTの100倍 高速と言われています。リアルタイムで動かすにはもってこいですね。 SIFT detection: 0.417645 s description: 0.397645 s SURF (hessianThreshold = 2000) detection: 0.1

  • Puku's Laboratory

    Bebop対応するぞーとか言って3年近く経ってしまった。 というかもうあるじゃん。 http://ogidow.hateblo.jp/entry/2016/03/16/124120 https://github.com/ogidow/cvbebop

  • C#でOpenCVを使う(C++/CLIによる方法) - whoopsidaisies's diary

    OpenCVラッパクラス C#でOpenCVを手軽に使うには OpenCvSharpをつかう その17(NuGetで導入) - schima.hatenablog.com C#でOpenCVを動かす~NuGetでOpenCV.Netをインストール - whoopsidaisies's diary のページのように,NuGetからC#ラッパをインストールして使う方法があるが,必要な機能がラッピングされていないことがある. このページでは,C++/CLIでOpenCVの必要な機能だけ持つラッパクラスを自分で作り,C#から呼び出す方法を紹介する. C++/CLI 通常のC++のライブラリをC#から呼び出そうとするとDllImport属性で宣言が必要だったりして面倒であるが,C++/CLIで作ったDLLであれば参照に追加するだけで使用できる. 手順 手順は以下の通りである. C#プロジェクト作成

    C#でOpenCVを使う(C++/CLIによる方法) - whoopsidaisies's diary
  • OpenCVで、fpsのレートを画面に表示させた

    OpenCV機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。 PS3のEyeCameraが60fpsで画像を取り込めるか調べるために、画面にfpsの値を表示させるコードを作成した。 以下にソースを示す。表示するコードの量を減らすために。ヘッダーやライブラリの宣言を省き、エラー処理も省いている int _tmain(int argc, _TCHAR* argv[]) { cv

  • opencv | tetro

  • OpenCVで密なオプティカルフローを計算する - whoopsidaisies's diary

    オプティカルフロー 動画から密なオプティカルフローの計算を行う.SimpleFlowアルゴリズムによるオプティカルフロー,TV‐L1オプティカルフロー,Farnebackのオプティカルフロー,Broxのオプティカルフロー,Lucas-Kanade法によるオプティカルフロー等によって密なオプティカルフローの計算ができる. ソースコード cv::calcOpticalFlow○○メソッドを使うと,呼び出すたびにパラメータを渡さなくてはいけなくて見た目がすっきりしないのと,アルゴリズムによって3チャンネルの画像だったり1チャンネルの画像だったりで面倒. cv::superress::createOptFlow_○○でDenseOpticalFlowExtクラスのオブジェクトを作れば,そこら辺の面倒な処理を中でやってくれるので楽.以下,ソースコード.色符号化によるオプティカルフローの可視化を行って

    OpenCVで密なオプティカルフローを計算する - whoopsidaisies's diary
  • OpenCVで遊ぼう!

    今年の夏から、micro:bitが日でも発売されるようになりました。 いろいろな店で取り扱うようになったので、購入してみました。 micro:bitは日で開発されたものではないので、情報源は英語のオフィシャルページとなります。 一部のページは日語にも対応しています。 一応私も電子工作をかじってはいるので、チュートリアルページはさておき micro:bitがどうやって動いているかを調べてみました。 まずはハードウェアのページから見ていきます。 http://tech.microbit.org/hardware/ 体の画像は以下のとおり。 PCのメモリチップのように、下部側にのみコネクタがついています。 また、ワニ口クリップなどで挟みやすいよう、5つのパッドは広めに作られています。 穴が開いているのは、拡張コネクタとmicro:bitをネジで接続し、ネジをコネクタ代わりに使用するための

  • OpenCVを用いた特徴点対応付け | Miyabiarts.net

    OpenCV2.2になって、C++インタフェースが随分整理されましたので、色々と触っていました。 主に特徴点周りのクラスを見ていたのですが、画像から特徴点を検出し、画像間で対応付けるコードを簡単に書けるようになりました。 以下に2画像間の特徴点の対応付けのコードを掲載します。 #include <opencv2/opencv.hpp> // int main() { // 画像1の読み込み cv::Mat_<cv::Vec3b> img1 = cv::imread( "in1.jpg" ); // 画像2の読み込み cv::Mat_<cv::Vec3b> img2 = cv::imread( "in2.jpg" ); // SIFT用のデフォルトパラメータを設定 double threshold = cv::SIFT::DetectorParams::GET_DEFAULT_THRESHO

    OpenCVを用いた特徴点対応付け | Miyabiarts.net
  • 画像処理 — OpenCV-CookBook

    画像を単色で塗りつぶす¶ 画像を単色で塗りつぶす方法を示します. また,この例には示しませんが, 画像中の部分矩形を塗りつぶす場合には、ROIまたは cv::rectangle を利用します. 矩形を描く などを参考にしてください. #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> int main(int argc, char *argv[]) { // 初期化時に塗りつぶす cv::Mat red_img(cv::Size(640, 480), CV_8UC3, cv::Scalar(0,0,255)); cv::Mat white_img(cv::Size(640, 480), CV_8UC3, cv::Scalar::all(255)); cv::M

    画像処理 — OpenCV-CookBook