1

画像上のカープレートの 1 つの白いピクセルを認識したいと思います。車の色はカープレートの白い色よりもどこか「白い」ので、それを認識する方法がわかりません。実行可能なコードを書きましたが、マウスで車のプレート ポイントの 1 つを選択する必要があります。その後、車のプレートが見つかり、その周りに四角形を描くことができました。カープレートの 1 つの白いピクセルを自動的に見つける方法を知っていますか?

コードは次のとおりです。

clear all;
close all;

I= imread('volvo_frame_0001.bmp');

figure, imshow(I)

level=0.5;

BW=im2bw(I,level);
figure, imshow(BW);

BW2 = bwselect(BW,4);
figure, imshow(BW2);
hold on;

C = corner(BW2);

min_x = min(C(:,1));

max_x = max(C(:,1));

min_y = min(C(:,2));

max_y = max(C(:,2));


figure, imshow(I);
hold on;

BoxPolygon = [min_x, max_y; max_x, max_y; max_x, min_y; min_x, min_y; min_x, max_y;];
line(BoxPolygon(:, 1), BoxPolygon(:, 2), 'Color', 'g');
4

1 に答える 1

2

実際、あなたの質問の答えは、ライセンス プレート認識 ( LPR ) と呼ばれるアプリケーション フィールドです。数千とは言わないまでも、数百のプログラムを Matlab またはこの無料の Matlab コードなどの他の言語で見つけることができます。

いずれにせよ、コードを一から書くことにこだわるのであれば、白いピクセルを探さないことをお勧めします! ピクセル値が広い範囲 (0 ~ 256^3) にあり、「カラー ラベル」は単純にピクセルに割り当てることができない用語であるため、ピクセルが白かどうかを判断できないためです (これを図として参照してください)。事実に)。代わりに、プレートの他の「機能」を使用することをお勧めします。プレートが「長方形」であり、辺の「比率」が同じであるという事実など。その後、「キャニー」を使用して、形状の特徴をより簡単に判断できるエッジ (画像内の光や色の劇的な変化) を見つけることができます。つまり、この種の画像内で四角形をより簡単に見つけることができます。

長方形が見つかったら、それらの長方形内の他の「機能」をチェックして、長方形がプレートであるか、または内容ではなく形状がプレートに近いオブジェクトの他の形式であるかを確認できます。たとえば、ヒストグラムやその他の方法です。

お役に立てれば

乾杯

于 2013-10-26T15:00:46.833 に答える