私はOpenCV 3.1とVisual Studio C++を使用しています。OpenCV "Blured Corners"検出器(C++)
が、私はコーナーではなく、曲線、四角形や円を検出したい目標。つまり、ぼやけた文字の場所を探したいのです。ここに私の関心領域面積:彼らは現在の市-Tomasiのコーナー検出器で検出することができオレンジ1よりもぼやけているので
赤い領域は、より高い優先度を持ちます。
私は
を試してみました私は市-Tomasiのコーナー検出器をテストしている - コードは、あなたが鮮明な画像を持っているときにテキストで領域を見つけるのが素晴らしいです、このチュートリアルhttp://docs.opencv.org/2.4/doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.htmlに配置されます。私は類似した(非常に良い)性能を持ち、bluredテキストを検出できるOpenCVを使ってアルゴリズムを見つけたいと思います。テキストがぼやけている部分(それを読むことはできません - コーナーを検出するために)は無視すべきです。また、良好な鮮明度を有する領域は無視すべきである。ここで
は、私が試したものを一例である - これは市-Tomasiのチュートリアルからの結果である:
これは、元の画像です:
そして、これは私が
上側画像パラメータminDistance = 5、qualityLevel = 0.01、下側画像minDistan CE = 10は、qualityLevel = 0.05のparamsの残りの部分は、両方の画像のために同じです。
int blockSize = 3; bool useHarrisDetector = false; double k = 0.04;
間違った結果が、それはblured、テキストを発見していないということです - 右上または左下にある番号「195」を、例えば「14ms」および/または「19ms」である。 むしろ、私が欲しいものではない最高の鋭い結果を見つけました。
私はシャープな領域をぼかし、blured領域をシャープにする何らかのカーネルを使うことができたら、Shi-Tomasiコーナー検出器が結果を見つけるかもしれないと私は信じています。
どのようにヒントを達成するためのヒント?
この場合、信頼性はあまり期待しないでください。ゴミ出し入れの原則は完全に適用されます。 –