차량번호판 인식 #2
By 느린번개 | 2017년 11월 10일 |
Image안의 문자를 text로 변경할 수 있는 Tesseract-OCR을 사용해보면 성능이 그리 좋지 않음을 한번에 알게 됩니다. 아래처럼 Image상에서 문자만 있는 경우는 어느정도(한글의 경우 80%) text로 변경이 가능합니다. 변환해 보면 중간중간에 오류가 발생하는것을 볼수 있습니다. 문자가 뿐만 아니라 이미지까지 포함되어 있는 경우는 변환율이 더 떨어지고,변환시간도 엄청나게 오래 걸리는 문제가 발생을 합니다.그러므로, 번호판만을 짤라내야 하는 방법이 필요로 하죠, 즉 관심영역 ROI(Region Of Interest)를 정의가 필요로 합니다. 원본이미지를 Gray처리후 Canny를 이용하여 edge를 구합니다. Open image ->
Histogram Calculation #3 - Histogram Equalization
By 느린번개 | 2017년 1월 20일 |
한쪽으로 치우친 밝기의 분포를 재분배 해서 그레이 레벨의 발생 빈도를 균등하게 분포하도록 만들어줍니다. 출처 : Equalization 원리는 구글에서 쉽게 찾아 볼수 있으며, 아래 사이트를 참조하여 작성되었다.http://www.tutorialspoint.com/dip/Histogram_Equalization.htm equalizeHist() 를 이용하여 확인한 결과이다. 중간부분이 살짝 펴졌다는 느낌...실제 사진은 좀더 선명해졌다고 해야겠다. equalizeHist() 가 Gray데 대한 결과를 보고 RGB 모두를 변경하게 되면 어떤 결과가 나올지 궁금해졌다. 초록색이 평준화가 많이 되어,, 이미지가 전체적으로 초록색이 강해진 느낌...먼저 split() 함수를 이용하여, RGB별로 분리한후
차량번호판 인식 #5
By 느린번개 | 2017년 12월 18일 |
차량번호판 인식 #4 에서 문자집합들이 중복적으로 만들어지는 문제들이 있었습니다.이문제를 해결하기 위해서 여러가지 방법들이 있겠지만...중복적으로 가지는 집합들을 merge 하는 방법을 택했습니다.어떤 문자집합이 번호판를 가지고 있는지 코드상으로 판단할수 있는 방법이 없기 때문입니다. 즉, 조건을 가지는 합집합 필터를 만들었습니다. 2차 필터로 구한 문자의 집합은 아래의 파란 사각형들입니다. 로그를 보면 7개를 찾은것을 알 수 있고, 문자집합들만 짤라 보았습니다. 보시면, 번호판의 숫자가 포함되지 않는것을 볼 수 있습니다. 테스트 이미지마다 조금씩 다른데 70%정도는 번호판이 모두 들어갈것 입니다..^^딱 봐도 2개의 그룹으로 줄일 수 있을거라는 생각이 드네요...Merge 는 아래와 같이 꼭지
[Python] OpenCV를 이용한 Image Diff
By 지훈현서 | 2017년 8월 24일 |
틀린 그림 찾기 게임이 있다고 가정합니다.이를 눈으로 찾기는 아주 어렵지만,이를 자동으로 해 주는 프로그램이 있다면 편하겠죠? 이를 검색을 해 보았더니, Image Difference with OpenCV and Python 라는 블로그가 존재 하더군요.(해당 소스 참조, 약간 수정된게 있었는지 버전 문제인지 ... 작업했던 기억이...) 뭐 소스나 기타 등등은 제외하고 OpenCV 버전 및 이를 돌리는 것도 X-Window에 의존성을 갖는지라, 맥에서 시작했다가가상머신의 우분투서버에서 돌려보았습니다.(대신 X-Window 가 실행되고 있어야 합니다) 결론은, 위에처럼 Original 이미지와 Modified 이미지가 있으면 이 이미지에서틀린 부분만 찾아주는 것입니다. 우분투 16.04 LTS (