精密PCB製造、高周波PCB、高速PCB、標準PCB、多層PCB、およびPCBアセンブリ。
最も信頼性の高いPCB&PCBAカスタムサービスファクトリー。
PCBニュース

PCBニュース - PCBにおける鎖コードテーブルと線分テーブルの応用

PCBニュース

PCBニュース - PCBにおける鎖コードテーブルと線分テーブルの応用

PCBにおける鎖コードテーブルと線分テーブルの応用

2021-11-03
View:250
Author:Kavie

Application of Chain Code Table and Line Segment Table in PCB Hole Position Detection
Abstract: This article studies the positioning of printed circuit boards (Printed-Circuit Board) holes in the industry, ベンチマークの目的を達成する PCBボード パンチングマシン. CCDで得られた画像の効果的前処理, チェーンコードテーブルとラインセグメントテーブルの組み合わせを使用して、正確にかつ迅速にPCBホール位置の重心を決定する. 本法では重心を0に正確に検出することができる.001ピクセルレベル. そしてそのエリアを見つける, 周囲, 形状, 穴の重心. This method runs successfully on the VC++6.0プラットフォーム, そしてそのプログラミング速度は速い, そしてそれはリアルタイムを達成することができます, 正確, インテリジェント, バッチ検査, の品質と速度を大いに向上させる PCBボード 点検.

PCB


Introduction

Automated Optical Inspection (AOI, Automated Optical Inspection) is a visual inspection method that has emerged in recent years. CCDで画像を取得する, コンピュータ処理と解析による欠陥と誤動作の判定. AOIの応用 PCB生産 ラインは高速検出速度の長所がある, 短いプログラミング時間, 大量の画像の知的検出と制御. 産業技術の発展, の開口サイズの要件 PCBボード ますます正確になっている, また、機械の大量生産のための要件も高くなっている. この記事は、ホールカウンティングマシンを製造する会社のプロジェクトから派生します. 技術的要件は、PCBホール位置の最小半径が0であることである.2 mm, そして、各PCBには2000個の丸い穴がある. 総処理時間は10秒以下である. 結果は処理後に得られる. 円の中心は0に正確です.01ピクセルレベル, そして、テンプレートの中心からの各々の円中心のずれは、25. 中心偏差の80 %がこの指数を超えるなら, 無資格である, そして、装置ベンチマークを調整する必要がある.


「エッジ」は、ステップ・チェンジを有する像の画素のコレクションまたは画素グレイレベルの屋根のような変更を参照する. ターゲットと背景の間に存在する, 目標と目標, 地域と地域, 原始的で原始的な. 彼は、イメージ認識と分析に非常に役に立ちます. エッジは対象オブジェクトの輪郭をアウトラインできる, 観察者が一目で見ることができるように, and contains abundant information [1]. したがって, 穴位置情報を取得するには, 最初にエッジ検出と輪郭追跡を実行する必要があります. エッジの輪郭をトレースするためにフリーマンチェーンコードを使用します, そして、データを格納して、処理するためにチェーン・コード表およびライン・セグメント・テーブルを使用する.


1 Image acquisition and preprocessing


(1) This article uses backlighting and high-resolution cameras to obtain high-contrast and high-quality images. The image resolution is 409*096. 画像ソースの品質は非常に重要です, そしてその後の画像処理に直接影響する.


(2) Use median filtering to smooth the image, その目的は、ノイズの影響を最小化または除去し、画質を改善することである. メディアンフィルタリングは、特定の条件の下で最小平均二乗フィルタリングおよび平均フィルタリングのような線形フィルタに起因する画像細部のぼやけを克服することができる, パルス干渉と画像走査ノイズのフィルタリングに最も効果的である. この記事にかかわるイメージのために, the PCBボード 穴の詳細は欠陥, したがって、メディアンフィルタリングはより適切です. その利点は、それがイメージの縁を破壊することなくノイズを除去することができるということです.


(3) Use OSTU (Maximum Between-Class Variance Method) for threshold segmentation. この方法は簡単です, 安定で効果的. 二乗法の最小関数と原理を判断することによって自動的にしきい値を選択する二値化法である. ヒストグラムはあるグレーレベルで2つのグループに分けられます. 分割された2つのグループの分散が最大であるとき, the gray level is set to the best threshold [2].


2 Use chain code table and line segment table [3] to describe the data results of the image


(1) Use Freeman chain code contour tracking Freeman chain code [4] is divided into eight-connected and four-connected chain codes. 8つの連結されたチェーン・コードは、中央画素がその8つの隣人を指す方向によって定義される, そして、4つの連結されたチェーンは、中央画素を使用する. 4つの隣人の方向を指し示す, 値は0 - 1 - 1. この記事は8つの接続されたチェーンコードを使います, 下の図2に示すように, 8連結チェーンコードは時計方向に回転する, そして、それが時計回りに45度回転するとき、チェーン・コードの値は1によって減ります;チェーンコードの値が4で増加するならば, 方向が逆転する, を追加する. その後、元の方向に戻る. 連鎖符号値が8を超えた場合、または0未満であるとき, 8を削除または追加するには、Modulo 8演算を使用します.


(2) Application of chain code table


For the tracking of a single hole in the PCBボード, 本論文では、フリーマン連鎖法を用いて、対象物体の境界連鎖符号を求める. ある物体の灰色レベルを特定の点を探索すると, この点は目標物体の境界点である. この点がコード化されていないなら, それから、この点はある穴位置の出発点です. この点から, 輪郭追跡はフリーマンチェーン符号によって行われる, そして、境界上の各ポイントのチェインコード値をトレースすることができます, そして、中心点および隣接点の座標の偏差値に従って表1に示す. 各境界点の座標は出発点の座標から得ることができる, which can be expressed as a two-dimensional array inc[8][2].


特定のコード化プロセスは:G 2として目標オブジェクトのグレイレベルとG 2として背景グレーレベルを設定します. 全体の画像を検索する PCBボード. ある点AがG 1のグレーレベルに達するとき, 境界点と見なされる. Aから始まる, 穴の位置の境界を時計回りに検索する, そして、初期値は方向の次の点のために4つの検索に等しいチェインコード値と定義されます. 次の点のグレイ値がG 1に等しいなら, 次の境界点. Otherwise, 検索方向は時計回りに, そして、チェーンコード値は3ポイントを検索し続けます, 第1の点が常にG 1に等しいグレイ値を満たすB点を見つけられるように. 次にBを新しい境界点として設定する, を返します。. 隣接点に境界点がない場合, トラッキング終了フラグを1に設定する, 孤立点であることを示す.


点Bを新しい境界点とする. そのチェーンコード値を開始チェーンコードの方向としてください. 最後の境界点がポイントAであるまで、上記のトラッキングを繰り返す. シングルホールビットマップは追跡されます, この領域を色塗りでマークする, これは, そして、追跡されたチェーン・コード値は、チェーン・コード表に格納される. この論文では, the chain code table is stored in a one-dimensional integer array code[ ], 購読者0および1を伴う記憶内容は、開始境界点の各々の座標xおよびyである, そして、合計チェーンコード番号は、サブスクリプト, サブスクリプト3から始まる, 番目の境界点のチェインコード値を保存する, 第2の境界点のチェーン符号値... 最後のn番目の境界点のチェインコード値まで.


3 Line segment table


(1) Definition of line segment table


Since the chain code table can only represent the boundary of the target body, 境界の内側と外側ではなく, チェーンコード表は、対象本体の内部画素を表すことができない, しかし、事実上, 像の境界点と周囲を得ることに加えて, また、他のパラメータ, ホールセンターデータとこの記事で得られる領域のような, 内部画素の処理と計算を実現するために, もう一つの構造.


この領域は、水平線分からなる. 各々のライン・セグメントは、その2つの終点により表示されることができる. スキャンに従って領域のすべての水平線分を滑らかに配置する終点テーブルは、ライン・セグメント・テーブルと呼ばれている. ライン・セグメント・テーブルの各々のポイントは、2つの部品から成る. 偶数ポイントは左エンドポイントの座標を表す, そして、奇数番号は右端点の座標を表す. 構造体ドットが線分テーブル, use a one-dimensional array dot[ ], let i represent the line segment The left end of this line segment can be expressed as dot[2*i], and the right end point is dot[2*i+1].


(2) Application of line segment table


The line segment table obtains each line segment and the endpoint value of the line segment, したがって、領域の内部画素は計算によって容易に得ることができる, そして、画像の他の重要なパラメータを得ることができます, この記事に必要なパラメータなど:計算領域の面積, the center of gravity; Quickly fill a certain area (to avoid repeated searches and improve efficiency); the shape parameter of the area, 式はf = l * lで表される*L/4 πS


The purpose of this project is to detect the center of the circular hole, したがって、この領域の形状検出には特に重要である. 上記の式で, Lが円周、Sが領域. この比率で得られた形状パラメータfは、円の形状パラメータである. 1. 1からの差が大きい, 円の形からの差が大きい. PCB穴と円の中心の穴の数を数えるために, この形状パラメータを判断に使用できます. それが1に近いならば, 丸い穴を加工して近似できる, そうでなければ、直接丸い穴の色のマークで満たされ、結果に記録されません.


(3) Conversion of chain code table to line segment table [5]


Use the line segment table to indicate that other important parameters of the image can be obtained, そして、チェーン・コード表からライン・セグメント・テーブルへの変換は、表2に従っていることができる.


Specific steps are as follows:


After the conversion of the table, the chain code obtains three types [6]: middle point, 0番レフトエンド, 番号1右端点, 種類2特異点, 型番3. チェインコード表のデータによる, 入って来るチェーン・コード値と出て来るチェーン・コード価値は、わかることができます, そして、この点のタイプは、2つの方向のために決定されることができます. プログラム設計上, ポイントタイプは、表3に従って判断することができる. それが左右の終点であるならば, 座標は一時的な配列に格納される. 特異点は同じ左右の点の一致とみなすことができる, それで, 2回格納する必要があります, 途中でポイントを預金しない. ラインセグメントテーブルの終点は、Y座標のサイズでソートされます, と同じ行のx座標のサイズでソートされて.


4 Experimental results


This experiment takes a screenshot of the PCBイメージ このプロジェクトのプロセス, スクリーンショットとプロセス.


スクリーンショットを処理するには、この記事のアルゴリズムとプログラムを使用してください, そして、データを格納するためにチェーン・コード・テーブルおよびライン・セグメント・テーブルを使用する, そして、PCBホール位置のいくつかのパラメータ情報を得ることができます.


5 Conclusion


In this paper, バックライト光源は、高品質を得るために使用される PCB画像, また,ostuしきい値分割法を用いて,ソース画像の2値画像を安定かつ単純に得る, 輪郭追跡を実行して、実行する, と次のポイントを右に追跡の原則を使用して. それはより準備され、時間を節約. 連鎖コードテーブルと線分テーブルは、データおよびデータ処理を記憶する, そして、それは周囲を得るために非常に便利で正確です, の面積とホール重心 PCBボード, そして、 PCBボード パンチされる. This experiment has been run and verified on the Visual C++ software platform. これは、検出することができます, このプロジェクトで必要な速度と精度を取得. 結果は、この方法が可能であることを証明する.