2012-01-01から1年間の記事一覧

DataMan 8100 のレスポンスを良くする方法

DM8100 は、デフォルトでは広範囲に読み取るように設定されているので、対象のコードに合わせて制限することで、応答を良くすることができます。(DM8500も同様です。)設定方法を簡単に説明している資料です。DM8100_Response.zip

品種を判別する

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

ベンチマーク

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

ベンチマーク

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

Caliper を実行するサンプル

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

Blob を実行するサンプル

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

ToolBlock に画像を表示する

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

In-Sight 初心者向け FAQ

個人的に作成している In-Sight 初心者向け FAQ です。正確な情報は、コグネックスのサポートウェブサイトの、よくある質問と回答 または In-Sight でよくある質問 をご参考ください。※ 情報を入手したら更新する予定です。中には古い情報もあります。※ よく…

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

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

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

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値を意味します。データや…

人工画像を作成する

人工画像を作成するために 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…

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

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

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

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

PatMaxの補足説明

PatMax の補足説明の資料です。PatMax_add_expl_120108.pdf※ 情報を入手したら更新する予定です。

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…

itaro3さんのブログで紹介して頂きました

itaro3さんのブログで、このブログを、紹介して頂きました(2012-01-06)。itaro3さんのブログはこちらVisionPro/CVLでつくる実践的な画像処理itaro3さんとは同じフロアで働いていますが、席は4列くらい離れています。会社に居れば1回はすれ違います。何度も…

人工画像を作成する

人工画像を作成するサンプルプログラムです。円や四角やポリゴンなどのグラフィック形状を使って、画像を人工的に作ることができます。白黒画像は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 というサブルーチンを作成し、流用します。エディットコントロールの【グラフィックス】タブを、プログラムで操作…

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

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

ネイティブコマンドを送受信する

ネイティブコマンドを送受信するプログラムです。VS2003 で作られたものがあったので、VS2005 や VS2008 で動作するように変更しました。※ Telnet ポート 23 はファイアウォールでブロックされているかもしれないので、そのときはポート 3000 などに変更しま…

CADインポート

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