2016-10-04 138 views
-4

私はナンバープレートのセグメンテーションに取り組んでいます。私は、認識処理が難しい版の部分に影のある画像をいくつか持っています。文字をクリアにしておくためのプレート。ありがとう、助けていただければ幸いです!opencv 3.0の画像の影を消去

はここで二つの画像:

image with shadow2

私はプレートに文字を検出し、それのセグメンテーションを行うための後MSERを使用します。まず、画像の前処理(ぼかしとCLAHE)を行い、形態的BLACKHAT変換を適用した後、MSERを適用した後に認識が良くない。プレートの影を取り除くと結果が良くなると思います。私が何をするか分からない、あなたの応答およびヘルプ!!のためのおかげで、私のコードと結果は次のとおりです。

Mat gray_neg; 
Mat element = getStructuringElement(MORPH_RECT, Size(5, 5)); 
morphologyEx(imageLoad, gray_neg, MORPH_BLACKHAT, element); 
cv::Ptr<cv::MSER> mesr1 = cv::MSER::create(2, 30, 600, 0.15, 0.2); 
std::vector<cv::Rect> bboxes1; 
vector<vector<Point> > contours1; 
mesr1->detectRegions(gray_neg.clone(), contours1, bboxes1); 

Mat image_grayBGR; 
    cvtColor(imageLoad, image_grayBGR, COLOR_GRAY2BGR); 
for (int i = 0; i < bboxes1.size(); i++){ 
    rectangle(image_grayBGR, bboxes1[i], CV_RGB(255, 0, 0)); 
} 


imshow("MSER", image_grayBGR); 

最終的な結果は、私も表示されない

MSER

+1

シャドウに問題はありません。問題が何であるか説明してください。たぶん、いくつかの中間イメージといくつかのコードを提供します... – Piglet

+0

私はあなたの問題は何かを正確に理解していない?ナンバープレートを検出してOCRに問題があるか、最初からプレートを検出することに問題がありますか? –

+0

あなたの応答のおかげで、私は私の質問を補完、私はプレートの文字を検出するためにMSERを使用しています。 – Alexander33

答えて

-1

ですプレートの画像認識に影響を与える影の問題。あなたがする必要があるのは、お好みの画像分割アルゴリズムを使用して、各画像ファイルのナンバープレート上の文字と数字を分離することです。影や画像の他の部分はノイズと干渉として扱う必要があります。また、光学文字認識を支援するために、閾値処理とハフ変換アルゴリズムを使用することもできます。

関連する問題