이미지에서 차량 라이센스 / 번호판 (ANPR)을 인식하는 방법은 무엇입니까? [닫은

StackOverflow https://stackoverflow.com/questions/981378

문제

사용자가 자동차의 이미지를 업로드 할 수있는 웹 사이트가 있으며 차량의 등록 판을 감지하여 흐리기 위해 개인 정보 필터를 배치하고 싶습니다.

흐릿함은 문제가되지 않지만 사진 내에서 라이센스를 찾는 데 도움이되는 라이브러리 또는 구성 요소 (오픈 소스 선호)가 있습니까?

경고;

  1. 나는 아무것도 완벽하지 않다는 것을 알고 있으며이 유형의 이미지 인식은 잘못된 긍정적이고 부정적인 것을 제공 할 것입니다.
  2. 우리는 사용자에게 흐려지는 영역을 선택하도록 요청할 수 있고이를 수행 할 것입니다. 그러나 문제는 특히 그 데이터를 프로그래밍 방식으로 찾는 것입니다. 따라서 '모든 이미지를 확인하도록 사람을 얻으십시오'와 같은 답변은 도움이되지 않습니다.
  3. 이 소프트웨어 방법을 영국에서는 '자동 번호판 인식'이라고하지만 IT의 구현을 라이브러리로 볼 수는 없습니다.
  4. .NET이 선호되지만 모든 언어는 훌륭합니다.
도움이 되었습니까?

해결책

Java ANPR을 기반으로 C# 버전을 코딩했지만 OpenCV로 AWT 라이브러리 기능을 변경했습니다. 당신은 그것을 확인할 수 있습니다 http://anprmx.codeplex.com

다른 팁

편집하다: 나는 a 파이썬 스크립트 이것을 위해.

귀하의 목표가 흐려지기 때문에 (개인 정보 보호를 위해) 기본적으로 높음이 필요합니다. 상기하다 첫 번째 단계로 탐지기. 이 작업을 수행하는 방법은 다음과 같습니다. 포함 된 코드 힌트는 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)  
    

입력 이미지를 다음과 같이하십시오.

enter image description here

  1. 수직 가장자리를 감지하려면 Sobel 필터를 바릅니다.
  2. 엄격한 임계 값 또는 OTSU의 이항화를 사용하여 결과 이미지를 임계 값.

    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 단계 후 결과 이미지.

enter image description here

  1. 이 이미지의 외부 윤곽을 찾으십시오.

    cv2.findContours(image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) 
    
  2. 각 윤곽에 대해 minAreaRect() 경계.

  3. 종횡비, 최소 및 최대 면적에 따라 사각형을 선택하십시오. (2.2 <= 종횡비 <= 8, 500 <= 면적 <= 15000을 사용했고 각도 <= 45도)

모두 minAreaRect()S는 주황색으로 표시되며 우리의 기준을 만족시키는 것은 녹색입니다.

enter image description here

  1. 이 단계 후에 오 탐지가있을 수 있습니다. 필터링하고 가장자리 밀도를 사용하십시오. 가장자리 밀도는 흰색 픽셀 수/총 픽셀 수 사각형으로. 에지 밀도에 대한 임계 값을 설정하십시오. (나는 0.5를 사용했다)

enter image description here

  1. 감지 된 영역을 흐리게합니다.

enter image description here

리콜과 정밀도를 높이기 위해 적합한 다른 필터를 적용 할 수 있습니다. 감지는 또한 HOG+SVM을 사용하여 정밀도를 높이기 위해 훈련 할 수 있습니다.

Github에는 우리와 유럽 접시를 위해 ANPR을하는 새로운 오픈 소스 라이브러리가 있습니다. 매우 정확해 보이며 필요한 것을 정확하게 수행해야합니다 (플레이트 영역을 인식). Github 프로젝트는 다음과 같습니다.https://github.com/openalpr/openalpr

나는 Java로 쓰여진이 것을 발견했다 Javaanpr, AC# 라이브러리도 찾고 있습니다.

나는 일부 항해 보트에서 비디오 카메라를 가리킬 수있는 시스템을 원합니다. 모두 크고 식별 할 수있는 숫자를 가지고 있으며, 보트를 식별하고 비디오 카메라를 지나서 항해 할 때 트윗을 보냅니다.

나는 몇 달 전에 이것에 대해 인터넷 검색을했습니다. 거기 있습니다 꽤 많은 논문 이 주제에 대해서는 구체적인 오픈 소스 구현을 찾지 못했습니다. 거기 있습니다 많은 상업적 구현 그러나 가격 견적이있는 사람은 없으므로 아마도 꽤 비쌀 것입니다.

이 간단한 자동 번호판 인식 시스템을 사용해보십시오

http://opos.codeplex.com/

오픈 소스 및 C#로 작성

살펴보십시오 Java ANPR. 무료 번호판 인식 ...

예, 나는 Gocr에서 사용합니다 http://jocr.sourceforge.net/ 응용 프로그램에서 실행할 수있는 명령 선 애플리케이션입니다. 나는 두 개의 응용 프로그램에서 그것을 사용합니다.

고성능 ANPR 라이브러리 - http://www.dtksoft.com/dtkanpr.php. 이것은 상업적이지만 시험 키를 제공합니다.

http://licenseplate.sourceforge.net 파이썬 (테스트하지 않았습니다)

동일한 작업을 수행하는 라이브러리가 많이 있기 때문에 캐릭터 RecoQnition 소프트웨어를 보면서 작동 할 수 있습니다. 이미지를 읽고 저장합니다. Micrsoft Office는 TIFF 파일을 읽고 알파 너머를 반환 할 수 있습니다.

흐릿함은 문제가되지 않지만 사진 내에서 라이센스를 찾는 데 도움이되는 라이브러리 또는 구성 요소 (오픈 소스 선호)가 있습니까?

ANS : Carmen Freeflow ANPR 소프트웨어 엔진 (상업)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top