VP

ガンマ補正

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

OCRMaxパラメータ調整のヒント

OCRMaxツール(文字認識)を使うときのノウハウです。情報を入手したら追加します。 ◎ … 最初に確認するパラメータ ◇ … 微調整 △ … ときどき調整する 【セグメンテーション(分割)】 ◎文字の幅と高さ 幅 最小 最大(オプション、幅が大きければ2文字に分断…

連続実行を指定回数でストップする

Image Source でディレクトリを指定して、連続実行すると、順次、画像ファイルを読み出しますが、最後の画像ファイルを実行した後、最初の画像ファイルに戻ってしまいます。 連続実行を自動的に容易に解除する方法はありませんが、メッセージボックスを表示…

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

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

USBカメラで画像を取り込む

VisionPro ではありませんが、一般的なプログラミングでの、USBカメラで画像を取り込むサンプルです。DirectX SDK (March 2009)、DirectShowNet を使っています。画像取り込みを行うために動画の開始が必要で、動画しながらの画像取り込みは数ミリ秒〜数十…

MCプロトコルを実装したサンプル

VisionPro/QuickBuild でMCプロトコル(3Eフレーム)を実装したサンプルです。(AE作成)Ethernet、バイナリコードによる交信、を行います。MCPTool.dll と MCPTool.ico を bin ディレクトリ、MCPTool.vtt を bin\Templates\Tools ディレクトリにコピーして…

品種を判別する

検査領域を必要に応じて複数指定します。モデル(品種)を複数登録します。それぞれの検査領域で、すべてのモデルをマッチングし、得点を調べます。1番得点が高いものが、そこにある品種だと判断できます。始めに、固有なパターンを使って、対象物全体の位置…

ベンチマーク

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

ToolBlock に画像を表示する

ToolBlock は、CogImage の端子だけをつなぎ合わせても ToolBlockEdit のCogRecordDisplay に画像が表示されません。スクリプトを使用して画像を表示することができます。コードを示します。(AE作成)先ず ToolBlock に CogImage の入出力端子の Input/Outp…

トレーニングで作成するプログラム

VisionPro トレーニングのプログラミングコースで作成するプログラムです。正確な説明は、トレーニングにご参加頂きたいですが、簡単にポイントを説明します。QuickBuild のファイルをロードして実行するアプリケーション:CogJobManager と QuickBuild は同…

形状を取込画像に書き込む

形状を指定して人工画像を作成する方法は先の記事で紹介しました。描いた形状を、カメラで取り込んだ画像や他の画像に重ねて書き込むには、画像の AND や OR のような処理で行います。VisionPro は画像の AND/OR を行うツールを直接は持っていません。代わり…

コントラスト判定

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

オートフォーカスデモ

オートフォーカスデモの C# のサンプルです。VB.NET のサンプルは VisionPro に標準で付属しています。オートフォーカスのアプリケーションは、ImageSharpness ツールを使います。ImageSharpness ツールは、指定した領域の、鮮明度を計算します。計算方法に…

CogMaximizer のサンプルプログラム

CogMaximizer は値が最大になる位置を見つけます。Excute メソッドの引数は下限値、上限値、許容値です。CogMaximizer を実行中、Evaluate イベントが呼ばれるので、ここに、評価したい X-Y データや式を記述します。e.Position がX値を意味します。データや…

CogToolBlock スクリプトの簡単なサンプル

CogToolBlock スクリプトの簡単なサンプルです。QuickBuild の中で任意に計算するには、スクリプトを使うと、シンプルです。CogToolGroup でもできますが、VisionPro 6.1 で追加された CogToolBlock は、入力と出力をマウス操作で追加できます。コグネックス…

ソベルフィルタ – Blob の結果グラフィックを元画像に表示する

シェーディングがある画像の微小な傷や汚れは、ソベルフィルタを使えば傷・汚れが強調され、明ブロブ検出で欠陥を抽出できます。このとき、ソベルフィルタは、輝度の変化の度合いの画像を作るので、見た目は真っ暗な画像になります。Blob の結果グラフィック…

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…

人工画像を作成する

人工画像を作成するサンプルプログラムです。円や四角やポリゴンなどのグラフィック形状を使って、画像を人工的に作ることができます。白黒画像は256階調の画素で構成されています。CreateRLE メソッドは、グラフィック形状から、256階調の画素を作ります。…

複数のグラフィックを1つに合成して操作する

CogCompositeShape を使えば、複数のグラフィックを1つに合成できます。移動や回転などのマウス操作を行うと、合成されたグラフィックは、一緒に動きます。サンプルでは、直線を2つ組み合わせ、十字マークを合成しています。標準の十字マークグラフィックも…

結果グラフィック(CreateResultGraphics)の色を変える

ビジョンツールの結果グラフィック(CreateResultGraphics)の色を変える記述例です。バーコードツールの結果グラフィックを赤色に変更しています。Dim bounds As CogCompositeShape bounds = OneResult.CreateResultGraphics(CogBarcodeResultGraphicConsta…

グラフィックのマウスイベント

表示しているグラフィックのマウスイベントを使うサンプルプログラムです。サンプルでは、2つ四角を表示し、どちらかをドラッグしたときに、2つの四角の中心を結ぶ直線を描きます。対話グラフィックの Dragging イベントを使います。DraggingStopped イベン…

Histogramツールのグラフィックをビットマップ保存する

Histogram ツールのグラフィックをビットマップ保存するプログラムです。グラフは固有の寸法で描かれているので、適切に表示するように調整します。プログラム中にある “*” は、ディスプレイピクセル座標系です。製品:VisionPro動作確認バージョン:5.1言語…

グラフィック表示速度

グラフィックを多く表示するとき、グラフィックの追加中は、CogDisplay の更新を無効にすると、処理速度が向上します。CogDisplay1.DrawingEnabled = False ‘グラフィックの追加中は表示を更新しない … CogDisplay1.DrawingEnabled = True ‘すべてのグラフィ…

エディットコントロールに表示されるグラフィックをCogDisplayに表示する(AddGraphicsContents)

ビジョンツールのエディットコントロールに表示されるグラフィックと同じものを、CogDipslay に表示するプログラムです。AddGraphicsContents というサブルーチンを作成し、流用します。エディットコントロールの【グラフィックス】タブを、プログラムで操作…

CADインポート

CADインポートのサンプルプログラムです。CADの寸法と、画像の座標を合わせるために、CogFixtureTool を使います。CADと画像座標とのスケール比が、既知でなければなりません。または、カメラキャリブレーションを行うか、手動で値を調整します。詳細は、フ…

CogAcqFifoToolのビデオフォーマットを変更する

例えば、MVS-8504 フレームグラバを使ったとき、CogAcqFifoTool が使用するデフォルトのビデオフォーマットは Sony XC-HR50 640×480 です。他のカメラを使うときはビデオフォーマットを変更します。記述例を示します。VB.NET:Dim mAcqTool As CogAcqFifoTool…

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

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

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

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

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

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

ツール実行をカスタマイズする

QuickBuild で準備したビジョンツールの実行をカスタマイズするサンプルです。画像取込は Image Source を使います。それに続くいくつかのビジョンツールも順番に実行します。実行順序をカスタマイズしたいビジョンツールを CogToolGroupDisable1 に作成しま…