OpenCVSharpを使ってステレオカメラから距離を求めるまでの手順を書きました。Read less
![ステレオカメラ作成の道](https://cdn-ak-scissors.b.st-hatena.com/image/square/532086a64a890c71a1f47a2201cc1d41f8f02985/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Frandom-130517003614-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
OpenCVSharpを使ってステレオカメラから距離を求めるまでの手順を書きました。Read less
過去、OpenCVやFlashで簡単なステレオ画像処理を試してきましたが (ステレオ画像処理, Flashでステレオビジョン入門)、今回はJavaScriptとCanvas APIで同じものを作ってみます。 Demo: HTML5 Stereo Vision Source Code: cv/stereo_matching at master from wellflat/jslib – GitHub ここではKinectのように赤外線センサーはもちろん利用できないので、純粋な画像解析のみで奥行きを計算します。 2枚の画像でステレオマッチングを行い、カメラから対象までの距離を濃淡で表す視差マップ (深度マップや距離画像と呼ばれることもある、CGの視差マッピングとは別物)を生成します。使用するアルゴリズムはこれまで同様にブロックマッチングを、類似度評価にはSAD(Sum of Absolute
python-opencvチュートリアルその3 GitHubにリポジトリを作ってみました https://github.com/kyatou/python-opencv_tutorial 今日はガウシアンピラミッドの作成とWebカメラからの画像取り込みです。 ガウシアンピラミッド 800x800ピクセルの画像を作成し、半分のサイズ、4分の1のサイズのものを作成します。 ''' python-opencv tutorial Make gaussian pyramid Usage: 05_GaussianPyramid.py ''' #import opencv library import cv2 import numpy imgwidth=800 imgheight=800 img_original= numpy.zeros((imgheight,imgwidth,1),numpy.uin
新型コロナウイルスの感染拡大防止のお願いと当センターの技術支援業務について 岐阜県では、新型コロナウイルスの感染拡大防止のため、県民の皆様に対して「基本的な感染防止対策の徹底」、「体調不良時の行動自粛」などをお願いしております。 一方、政府はこれまでのマスク着用の考え方を見直し、令和5年3月13日以降は「マスク着用については、個人の主体的な選択を尊重し、着用は個人の判断に委ねる」としつつ、「感染リスクが高い場合などはマスク着用を推奨する」とされました。 当センターといたしましても、県や政府のこれらの方針に基づき、感染防止対策を徹底するとともに、感染リスクが高いと判断される技術支援業務においては、当センターをご利用の皆様に対して、必要に応じてマスクの着用をお願いするなどの適正な感染防止対策を講じたうえで、各種の技術支援業務を継続してまいります。 当センターをご利用の皆様におかれましても、何卒
ダウンロード alpha.zip kaisou.zip 今回作成したプログラム、ライブラリ、makefile、画像ファイルをまとめたzipファイルです。これだけあればプログラムを動かすことができます。上が懼ァア拡張グラフカット、下が階層グラフカットです。プログラムとライブラリは C++ で記述されています。 コンパイル方法・実行方法(コマンドライン) 上のzipファイルを解凍後 "alpha" または "kaisou" フォルダに移動し、makeコマンドを実行すればコンパイルできます。 ※ コンパイラとしてg++が必要 実行ファイルに2つの引数を順番通りに与えて実行すると(順に「左視差画像」「右視差画像」)結果画像 "result.pgm" を出力します。同フォルダにある "start.sh" を実行すると試しにプログラムを動かせます。 ※ 画像形式は "pgm" に限ります M
Stereo Vision using the OpenCV library Sebastian Dr¨oppelmann Moos Hueting Sander Latour Martijn van der Veen June 2010 Contents 1 Preface 2 2 Theory 2 2.1 Camera calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2 Epipolar geometry and rectification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2.2.1 Algorithm . . . . . . . . . . . .
【課題】静止物体を低価格で簡易に且つ高精度にステレオ3次元計測できるようにした、インタラクティブなステレオ3次元計測システムを提供する。 【解決手段】ステレオ画像間の対応位置を探索することにより、静止物体である計測対象の3次元計測を行うステレオ3次元計測システムであって、撮像装置と、空間的にも時間的にも変化するアクティブ照明を発生させるアクティブ照明手段と、3次元計測処理装置と、表示装置とを備え、アクティブ照明で計測対象を照らしつつ、撮像装置を用いて時系列のステレオ画像を撮影し、撮影されたステレオ画像は、3次元計測処理装置に入力され、3次元計測処理装置では、時間方向に複数のフレームを使ってステレオ画像間の対応位置を探索することにより、計測対象までの距離を計測し、計測して得られた計測結果を表示装置に表示させ、更に、最新のステレオ画像を用いて逐次的に計測処理を行い、実時間に計測結果を表示装置に
ステレオカメラの視差によって距離を推定することができます。 今日購入したMinoruを買っていちばん最初に試したいことはこれでした。 ThinkPadをリカバリしてたので、できることは限られていたのですが、とりあえずOpenCVをつかって視差画像まで取得したので書き留めておきます。 環境 Lenovo ThinkPad x100e Windows 7 Home Premium Microsoft Visual C++ 2008 Express OpenCV 2.1 Minoru 3D Webcam キャプチャ ふつうにcvCreateCameraCapture()とかで使えます。MinoruはそのままだとVGAサイズの画像をよこします。 そのままだとThinkPad内蔵カメラも含めて引数のindexが0〜2まで指定できてしまうので、ThinkPad内蔵カメラのキャプチャを使わないよう制御し
ステレオカメラの視差によって距離を推定することができます。 今日購入したMinoruを買っていちばん最初に試したいことはこれでした。 ThinkPadをリカバリしてたので、できることは限られていたのですが、とりあえずOpenCVをつかって視差画像まで取得したので書き留めておきます。 環境 Lenovo ThinkPad x100e Windows 7 Home Premium Microsoft Visual C++ 2008 Express OpenCV 2.1 Minoru 3D Webcam キャプチャ ふつうにcvCreateCameraCapture()とかで使えます。MinoruはそのままだとVGAサイズの画像をよこします。 そのままだとThinkPad内蔵カメラも含めて引数のindexが0〜2まで指定できてしまうので、ThinkPad内蔵カメラのキャプチャを使わないよう制御し
関数 cvFindStereoCorrespondenceを使う。キャリブレーション無しで使える。 但し、算出するのは画素の距離のみなので、ベースライン、焦点距離などのパラメータからの実空間距離は自身で算出する必要がある。 サンプルソース 左右の画像を読んで、原画像2枚と視差画像(算出値と正規化値)を表示し、正規化値の画像を保存する。 #include <cv.h> #include <highgui.h> #include <cvaux.h> int main(void) { double max=0, min=0; //カラー画像でもグレーとして読み込む IplImage* leftImage = cvLoadImage("left.jpg",0); IplImage* rightImage = cvLoadImage("right.jpg",0); IplImage* depthIm
二枚のステレオ視の画像から視差を算出する。実際にはこの視差にパラメータを乗算して実空間での距離を求める。 ※CvCalibFilterによるステレオ視も参照 定義 cvFindStereoCorrespondence( const CvArr* leftImage, const CvArr* rightImage, int mode, CvArr* depthImage, int maxDisparity, double param1, double param2, double param3, double param4, double param5 ); 引数 leftImage 左目画像。8bitグレイスケール rightImage 右目画像。8bitグレイスケール mode 視差の検出アルゴリズム(今はCV_DISPARITY_BIRCHFIELDだけサポート) depthImag
内容 CvCalibFilterによるUndistortと殆ど同じ。 カメラを2つにして?CalibFilter.Rectifyするだけでキャリブレーション画像が得られる。 あとは距離計測するだけ。 そこそこの精度。 サンプルソース //CvCalibFilterを使った2カメラキャリブレーション+距離計測 2008/5/19 Eiichiro Momma #include <stdio.h> #include <time.h> #include <cv.h> #include <highgui.h> #include <cvaux.h> #include <videoInput.h> IplImage *current_frame_rgb; double EtalonParams[3] = { 7, 9, 3 }; //EtalonParamsは{コーナー数+1、もう一方のコーナー数+
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く