2017-10-27 14 views
2

私は、1980年代初めのDIGITAL DECsystem-20 KL10PVメインフレーム(公表されている)の回路図を表す約500ページのPNGを持っています。スキャンプロセスには、PNGにランダムに点在する白い線が図面内の系統的な「塩」を表すという点で欠陥がありました。これは回路図を回復するために使用しているプロセス(OCRとコンポーネントと相互接続のネットリストの回復の両方)に干渉しています。スキャンされたドキュメントの白抜けのスキャンラインにOpenCV修理

A zoomed in part of a schematic page

私が話している問題を示す例エリアの周りに赤いマークとの完全な回路図ページはhereです。

これらの白い縞を検出し、上の行と下の行の平均をコピーするか、または同様の方法でそれらを「癒す」のに、私はどのような魔法のOpenCVメカニズムを使用できますか?これらの欠陥を系統的に特定する仕組みを見つけたら、最良のものを見つけるためにいくつかの「治癒」技術を試すことが期待されます。

答えて

1

このような意味ですか?

enter image description here

この特定の方法は、画像を処理するbluringおよび形態を使用します。私は本当にこれがスタックオーバーフローが何のためにあるのか、実際にはない、多くの異なる方法を書くために熱意を持っていない怖いhere

int morph_elem = 1; 
    int morph_size = 1; 
    int morph_operator = 0; 

    Mat origImage = mat; 
    medianBlur(origImage, origImage,1); 
    cvtColor(origImage, origImage, COLOR_RGB2GRAY); 
    threshold(origImage, origImage, 0, 255, THRESH_OTSU); 

    Mat element = getStructuringElement(morph_elem, Size(2 * morph_size + 1, 2 * morph_size + 1), cv::Point(morph_size, morph_size)); 

    morphologyEx(origImage, origImage, MORPH_OPEN, element); 
    //thin(origImage, true, true, true); 
    imshow("@", origImage); 

からコードを借りました。この提案された方法は正しいパスにあなたを得るかもしれません。

+0

はい、これは私が探しているような結果です。ポインタをありがとう。 –

+0

もう1つのポイント。これが本当に何のためのスタックオーバーフローのためのものではない場合は、それは何ですか?私はアルゴリズム的な質問をし、答えへのポインタを得ました。毎日ここで何をしているのですか? –

+1

問題はあなたの質問は非常に広いです、それは多くの異なる解決策によって解決することができます、私の答えが問題の部分的にしか解決しません。 SOは本当に「私はこの特定の問題を抱えています。私が試したものと、間違いがあります。私が解決するのを助けてください」たとえば、モルフォリコードに関するいくつかの具体的な助けを頼んだ場合、それはより適切なものになります。私はヘルプガイドを読むことをお勧めします、またはまだわからない場合Meta.stackexchange.com – GPPK

関連する問題