72

ユーザーが車の画像をアップロードできる Web サイトを持っています。プライバシー フィルターを配置して、車両のナンバー プレートを検出し、それらをぼかしたいと考えています。

ぼやけは問題ではありませんが、写真内のライセンスを見つけるのに役立つライブラリまたはコンポーネント (オープン ソースを推奨) はありますか?

注意事項;

  1. 完璧なものは何もなく、このタイプの画像認識は偽陽性と偽陰性を提供することを私は知っています.
  2. ぼかす領域をユーザーに選択してもらうことができることを感謝します。これも同様に行いますが、問題は具体的にそのデータをプログラムで見つけることです。そのため、「すべての画像を人にチェックしてもらう」などの回答は役に立ちません。
  3. このソフトウェア方式は、英国では「Automatic Number Plate Recognition」と呼ばれていますが、ライブラリとしての実装は見当たりません。
  4. .Net が優先されますが、任意の言語が優れています。
4

12 に答える 12

35

編集:私はこれのためにPython スクリプトを書きました。

目的がぼやけているため (プライバシー保護のため)、基本的に最初のステップとして高再現率検出器が必要です。これを行う方法は次のとおりです。含まれているコード ヒントは、Python で OpenCV を使用します。

  1. グレースケールに変換します。
  2. ガウスぼかしを適用します。

    img = cv2.imread('input.jpg',1)
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    img_gray = cv2.GaussianBlur(img_gray, (5,5), 0)  
    

入力画像を以下とする。

ここに画像の説明を入力

  1. ソーベル フィルターを適用して、垂直エッジを検出します。
  2. 厳密なしきい値または OTSU の 2 値化を使用して、結果の画像をしきい値処理します。

    cv2.Sobel(image, -1, 1, 0)
    cv2.threshold() 
    
  3. 適切な構造要素を使用してモルフォロジー クロージング操作を適用します。(構造化要素として 16x4 を使用しました)

    se = cv2.getStructuringElement(cv2.MORPH_RECT,(16,4))
    cv2.morphologyEx(image, cv2.MORPH_CLOSE, se)  
    

手順 5 の結果の画像。

ここに画像の説明を入力

  1. この画像の外側の輪郭を見つけます。

    cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) 
    
  2. 各輪郭について、minAreaRect()境界を見つけます。

  3. 縦横比、最小面積と最大面積、および水平線との角度に基づいて長方形を選択します。(私は 2.2 <= アスペクト比 <= 8、500 <= 面積 <=15000、および角度 <= 45 度を使用しました)

すべてminAreaRect()の s はオレンジ色で表示され、基準を満たすものは緑色で表示されます。

ここに画像の説明を入力

  1. このステップの後、誤検知が発生する可能性があります。それをフィルタリングするには、エッジ密度を使用します。エッジ密度は、長方形内の白いピクセルの数/ピクセルの総数として定義されます。エッジ密度のしきい値を設定します。(私は0.5を使用しました)

ここに画像の説明を入力

  1. 検出された領域をぼかします。

ここに画像の説明を入力

再現率と精度を高めるのに適していると思われる他のフィルターを適用できます。HOG+SVM を使用して検出をトレーニングし、精度を高めることもできます。

于 2016-05-30T10:35:09.203 に答える
33

Java ANPR をベースに C# 版をコーディングしましたが、awt ライブラリ関数を OpenCV で変更しました。http://anprmx.codeplex.comで確認できます。

于 2012-11-07T15:21:32.620 に答える
10

Java javaANPRで書かれたものに出会いました。ac # ライブラリも探しています。

私は、いくつかの帆船にビデオカメラを向けることができるシステムを望んでいます。これらの帆船にはすべて識別可能な大きな番号が付けられており、ボートを識別して、ビデオカメラを通過したときにツイートを送信することができます。

于 2009-08-10T10:05:03.130 に答える
8

私は数ヶ月前にこれについてグーグルで調べました。このトピックに関する論文はかなりありますが、具体的なオープンソースの実装は見つかりませんでした。ただし、多くの商用実装がありますが、価格の見積もりがあるものはないため、おそらくかなり高価です.

于 2009-06-11T14:49:38.827 に答える
5

このシンプルな自動ナンバープレート認識システムを試してください

http://opos.codeplex.com/

オープンソースで、C# で書かれています

于 2012-03-30T19:38:31.940 に答える
3

Java ANPRを見てください。無料のナンバー プレート認識...

于 2010-08-23T06:32:08.383 に答える
2

高性能 ANPR ライブラリ - http://www.dtksoft.com/dtkanpr.php。これは商用ですが、試用キーを提供しています。

于 2010-09-23T10:19:19.220 に答える
2

http://licenseplate.sourceforge.net Python (テストしていません)

于 2012-03-30T16:05:28.460 に答える
2

はい、http://jocr.sourceforge.net/ で gocr を使用ています。これは、アプリケーションから実行できるコマンドライン アプリケーションです。いくつかのアプリケーションで使用しています。

于 2010-05-19T09:32:00.413 に答える
-2

ぼやけは問題ではありませんが、写真内のライセンスを見つけるのに役立つライブラリまたはコンポーネント (オープン ソースを推奨) はありますか?

回答: CARMEN FreeFlow ANPR ソフトウェア エンジン(商用)

于 2009-06-11T14:27:51.577 に答える