ナンバープレートを自動的に読み取ろうとしています。 私はOpenCV Haar Cascadeクラシファイアを訓練して、ソースイメージ内のナンバープレートを妥当な成功に分離しました。次に例を示します(黒い境界の長方形に注意してください)。 SVMを経て分類のための個々の文字を分離OpenCV:OCRのナンバープレート文字の分離
プレートをクリーンアップするために、私は次の変換を実行します。ここに
# Assuming 'plate' is a sub-image featuring the isolated license plate
height, width = plate.shape
# Enlarge the license plate
cleaned = cv2.resize(plate, (width*3,height*3))
# Perform an adaptive threshold
cleaned = cv2.adaptiveThreshold(cleaned ,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY,11,7)
# Remove any residual noise with an elliptical transform
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))
cleaned = cv2.morphologyEx(cleaned, cv2.MORPH_CLOSE, kernel)
私の目標は、任意のノイズを除去しながら、黒と白の背景に文字を分離することです。
この方法を使用して、私は、一般的に3つの結果の1を取得見つける:
画像うるさいです。
あまりにも多くの削除(文字が切り離さ)。
合理(すべての文字を単離し、一致)。
I've included the original images and cropped plates in this album.
私が原因のナンバープレートの一貫性のない性質のために、私はおそらく、よりダイナミックなクリーンアップの方法が必要になりますが、私は始めるのはどこか分からないことを実現します。私は、閾値と形態学の関数のパラメータで試してみましたが、これは一般に、1つの画像に向かって過剰チューニングにつながります。
クリーンアップ機能を改善するにはどうすればよいですか?
「あまりにも騒々しい」とは、多くの余分な文字やグラフィック "、これはアメリカのプレートの共通の機能です。 –