VP - ビジョンツール

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

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

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

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

品種を判別する

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

ベンチマーク

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

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

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

コントラスト判定

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

オートフォーカスデモ

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

ソベルフィルタ – 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…

CADインポート

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

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

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

画像をセーブ・ロードする

画像をセーブするコード例を示します。VB.NET:Dim ImageFile As CogImageFile ImageFile = New CogImageFile ImageFile.Open(SaveFileDialog1.FileName, CogImageFileModeConstants.Write) ImageFile.Append(Image) ImageFile.Close()C#:CogImageFile ImageF…

OCVMaxツールの簡単なテスト手順

OCVMax ツールの簡単なテスト手順の資料です。ocvmax_test.zip

Caliperで1番端のエッジを見つける

Caliper で1番端のエッジを見つけるためには、負の位置(PositionNeg)の得点付けを使います。グラフが示すように、Caliper ウィンドウの中心から、左へ行くほど得点が高くなり、右へ行くほど得点が低くなります。グラフは、見やすいように、デフォルトの Xc…

検査領域だけを移動し、結果は元画像の座標で返す

PatMax で位置決め、Fixture で座標系を移動し、Blob や Caliper などのビジョンツールを実行するとき、ビジョンツールの検査領域は、座標系の移動にともなって、期待する場所に移動しますが、ビジョンツールの結果が、移動した座標系の位置で、報告されてし…

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

PatInspect で差分画像を作成し、Blob で欠陥抽出を行うと、Blob 結果は差分画像上に表示されます。Blob 結果を元画像上に表示すれば、どこが欠陥か明示的に示され、便利です。製品:VisionPro動作確認バージョン:5.0言語:ツールグループスクリプトVB.NET…

任意の検査領域でBlobを実行する(不要箇所をマスクしてBlobを実行する)

任意の検査領域で Blob を実行するサンプルです。任意の検査領域で Blob を実行するには、マスク画像を使います。部品が移動するときは、PatMax で位置決め、Fixture で座標を移動してから、Blob を実行しますが、マスク画像も移動させることは困難です。そ…

見つけたブロブの輝度値を調べる

Blob 結果の GetBoundary を、Histogram ツールの領域に接続すれば、そのブロブの輝度値(画素の平均値)を調べることができます。サンプルでは、ToolBlock を使って、見つけたすべてのブロブについて輝度値を調べ、ある値より大きいものだけを、OutputArray…

Blob結果からマスク画像を作成

Blob結果からマスク画像を作成するプログラムです。CopyRegion1 は、マスク画像の下地を作成します(グレースケール値=255)。CopyRegion2 は、グラフィック形状を画像に書き込みます。設定は次の通りです。定数値を入力する、グレースケール値=0、外部領…

VB6、VC++6の簡単なアプリケーションの作成

現在の VisionPro は .NET Framework の開発をサポートしています。以前の VisionPro は、VB6.0、VC++6.0 の開発をサポートしていました。VB6.0、VC++6.0 を公式サポートしている最後のバージョンは 4.0.2 です。VC++6.0 のアプリケーションは ATL プログラ…