0

私は MATLAB を初めて使用し、ライセンス プレートのローカリゼーションの次の手順を実装しようとしています。

垂直勾配計算

これが私のこれまでの進歩です。

コード:

[rows,cols] = size(img);
image_gradient = zeros(rows,cols);

for i =1:1:rows
    for j =1:1:cols-1
        image_gradient(i,j) = abs( img(i,j+1) - img(i,j) );
    end
end

figure,imshow(image_gradient);title('Gradient');

出力:

勾配計算の出力

ここで私が間違っていることを誰かが教えてくれれば、本当に感謝しています。

4

1 に答える 1

3

まず、イルミネーションは裏側の痛みであることを理解する必要があります。そして、新しいアルゴリズムを学び続けるうちに、それを理解するでしょう。

最初の一連の画像を見ると、プレートが画像の目立つ部分であることがわかります。ナンバー プレートは、文字と背景の間にこのコントラストを与えるように設計されています。さらに、背景全体がかなり滑らかです。下部の画像を見ると、多くのアーティファクトと急激な強度遷移が見られます。これにより、グラデーションにノイズが多い理由が説明されます。

あなたが本質的にやろうとしているのは、このようなフィルターを使用したフィルタリング操作 (またはコンボリューション)[-1 1]です。matlab 関数conv2とを検索しますfilter

ノイズを減らすには、勾配とともに平均化操作を実行する必要があります。これにより、ノイズの影響を受けにくくなります。したがって、最終的なフィルターは次のようになります[-1 1;-1 1;-1 1]。他の複雑なフィルターを試している場合は、フィルター値が正規化されていることを確認してください。

提案された方法では、ナンバー プレートの検出は容易ではありません。それは間違いなくあなたを始めるはずです。しかし、さらにいくつかのアルゴリズムについて読み始める必要があります。

于 2016-02-24T17:15:22.070 に答える