CVL

ガンマ補正

VisionPro と CVL のガンマ補正のサンプルです。画像の明るさとコントラストの調整には次の方法があります: 照明明るさ、レンズ絞り、カメラ露光時間、アナログカメラを使うときのフレームグラバのA/D変換器のゲインとオフセット、デジタルカメラを使うとき…

画像中の複数の2Dコードを読み取る

画像中の複数の2Dコード(QRコード)を読み取るサンプルです。CVL が持っている2Dシンボルツールは、画像中(領域)で1個のコードしか、読み取りません。このプログラムは、1個見つけて読み取り、そのコードを塗りつぶし、また見つけに行き、見つからなくな…

オートフォーカス(cfImageSharpnessFocusSearch)

CVL でオートフォーカスを行うサンプルです。cfImageSharpnessFocusSearch と cfImageSharpness を使います。cfImageSharpnessFocusSearch の引数で、モーター位置の最小値、最大値、いくつの値より変化が小さくなったら調整を止めるか、を指定します。 cfIm…

ベンチマーク

ベンチマークを行うプログラムを作成してみました(CVL)。PC環境や CVL バージョンを変更したときなどに、動作確認することを、想定しています。画像はビットマップファイルを開きます。画像は、前もって、チェッカーボードキャリブレーションを行い、レン…

Caliper を実行するサンプル

Caliper を実行するサンプルです。CVL に標準で付属する cvlproj のプロジェクトで、コンパイル・実行します。Caliper ツールはエッジ(黒→白、白→黒)の位置を検出します。ノギスの役割をし、対象物の辺の位置や幅を測定します。ノギスと同じで、正確な幅や…

Blob を実行するサンプル

Blob を実行するサンプルです。CVL に標準で付属する cvlproj のプロジェクトで、コンパイル・実行します。適切なしきい値で画像を二値化し、対象物と背景に分け、対象物の面積や重心、横幅、縦幅、を計算することを、ブロブ解析と言います。blob.cpp:ピク…

PatMax を実行するサンプル(キャリブレーションあり)

PatMax を実行するサンプルです。キャリブレーションの有無など、いくつか種類があります。サンプルは、CVL に標準で付属する cvlproj のプロジェクトで、コンパイル・実行します。pmalign.cpp:ピクセル座標で動作するサンプルです。画像はカメラから取り込…

コントラスト判定

In-Sight にコントラスト判定ツールがあります。同様な計算を VisionPro と CVL で行うサンプルです。製品:VisionPro動作確認バージョン:7.2言語:C#シンプルスクリプト、ToolBlockcontrast_vpp.zip製品:CVL動作確認バージョン:7.0言語:VC++、VS2005con…

人工画像を作成する

人工画像を作成するために cfRasterize を使います。ccPelBuffer pelbuf(256, 256); for (c_Int32 y = 0; y memset(pelbuf.pointToRow(y), y, 256);// cfRasterize ccEllipse2 ell(cc2Vect(50, 100)/*radii*/, ccRadian(0.0)/*angle*/, cc2Vect(127, 127)/*c…

3Dビジョンについてインターネットで見つかる情報

3Dビジョンについて、インターネットで検索すると、次の情報が見つかります。「A Flexible New Technique for Camera Calibration」http://research.microsoft.com/en-us/um/people/zhang/calib/TR98-71.pdf「Multiple View Geometry in Computer Vision」ht…

ダイアログウィンドウに画像を表示する

ダイアログウィンドウに画像を表示するプログラムです。ダイアログウィンドウに画像を表示するために ccWin32Display を使います。CWnd の派生クラスを作成することで、画像上でマウス操作が正しく行えるようになります。製品:CVL動作確認バージョン:6.8フ…

ブロブの内側を塗りつぶした面積と重心を求める

ブロブの通常のパラメータに、クリーンナップ=塗り潰し、最小領域=塗り潰す面積、がありますが、例えば、ドーナツ形状などで、面積が、穴>ブロブ、になる場合は、このパラメータは使えません(面積が最小領域未満のブロブが未検出になります)。重心は、…

ビジョンツールのマルチコア対応(VisionPro5.2SR1、CVL6.7)

ビジョンツールのマルチコア対応(VisionPro5.2SR1、CVL6.7)の資料です。1-presentaion.zip

画像取込と画像処理をマルチスレッドで行う

画像取込と画像処理をマルチスレッドで行うプログラム(AcqThread_VisionThread、または、overlap)は、高速アプリケーションにおいて効果的で す。取込スレッドは、必要なタイミングにカメラから画像を取り込んで、画像をキューに格納します。処理スレッド…

USBドングルを認識しない

VisionPro 本体と Cognex Drivers のバージョンの組み合わせが異なる。USBドングルを挿入したまま、Cognex Drivers を再インストールする。次の手順でドライバを再インストールする。(1)デバイスマネージャより Aladdin Key ドライバの削除。このとき、USB…

マスタースレーブ設定で同時取り込みを行う

複数台カメラ使用時に、マスタースレーブ設定を行って、画像の同時取り込みを行うサンプルです。MVS-8504 フレームグラバを使って動作を確認しています。CameraLink カメラや GigE Vision カメラを使用するときは、マスタースレーブの機能は無いので、トリガ…

cfThresholdWGV の得点の意味

cfThresholdWGV は、画像を2値化するための最適なしきい値を計算します。しきい値と得点を出力します。得点の計算は次式です。score = (between-group variance)/(total variance)詳細は、大津氏の論文を参考ください。http://web.ics.purdue.edu/~kim497/ec…

開発ドングルの更新手順

VisionPro / CVL のスターターキットを購入すると、開発で使うためのドングルが2個付いてきます。使用期限は通常1年なので、1年後にソフトウェアアップデートプログラム(SUP)を購入すると、期間を延長できます。そのときの更新手順の資料です。Cognex へ現…