チェーンコードとは何ですか?

コンピューターグラフィックスと画像処理では、チェーンコードは、オブジェクトの輪郭を白黒、またはモノクロの画像でエンコードするために使用されるアルゴリズムです。結果のコードシーケンスは、オブジェクトのアウトラインを配置されている画像に比べてオブジェクトのアウトラインを描画する方法を説明するか、アルゴリズムが開始されたアウトライン上の位置に関連する方向のコレクションであり、本質的にオブジェクトを再描画するための手順を提供することができます。これらのコードは、式に従って正規化し、別のチェーンコードと比較して、2つのオブジェクトが同一かどうかを判断できます。チェーンコードは、コンピュータービジョンプログラムでオブジェクトを分離したり、画像処理の画像セグメンテーションに使用できますが、より一般的には光学文字認識(OCR)プログラムで使用できます。

チェーンコードにはいくつかの確立されたアルゴリズムがありますが、基本概念はそれぞれ同じです。まず、オブジェクトの端は、通常はpixelをpixで移動することにより配置されますラスター画像を通してエル。位置すると、位置が記録され、周囲のエッジが検出されます。検出アルゴリズムが時計回りに移動するか反時計回りに移動するかによって、現在の位置は、元の位置に戻るまで端に沿って一方向に移動します。

現在の位置が移動するたびに、数字がチェーンコードに記録されます。この数値は、一般に、オブジェクトの端に沿って移動した方向を示します。たとえば、チェーンコードアルゴリズムが右から左にまっすぐなエッジに続いている場合、エッジが左にトレースされるたびに、左の数値コードがコードの最後に追加されます。結果のコードは、任意の開始点からシーケンスが追跡され、各ステップにピクセルが配置された場合、オブジェクトのアウトラインが再描画される数字の文字列です。

1つの文字列が1つの文字列になりますe Up Codeが完了すると、いくつかの異なるアルゴリズムを適用して、他のチェーンコードシーケンスとの比較を行うことができます。まず、最低整数値が決定されるまで開始数を回転させることにより数値が正規化されます。このようにして、エンコードが開始された各オブジェクトのどこに関係なく、同じアウトラインを持つ2つのオブジェクトを比較できます。

チェーンコードアルゴリズムのその他のより複雑なバージョンが存在します。これらには、オブジェクトのアウトラインが線で接続されている一連の座標によって記述されるベクトルベースのエンコードが含まれますが、この方法は細かく詳細なアウトラインで使用すると損失する可能性があります。ランレングスエンコード(RLE)を使用して、より効率的な方法で保存できる非常に大きなオブジェクトまたは複雑なオブジェクトのコードをさらに圧縮するアルゴリズムのバージョンも存在します。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?