2011-04-01 4 views
5

OCR의 이미지 정확도를 높이기 위해 배경색을 제거하려고합니다. 샘플은 다음과 같습니다 단지 빛 보라색 색상 질감 된 배경을 제거하는 동안OCR의 이미지 처리에서 배경색 제거

enter image description here

난 후 처리 된 이미지에있는 모든 문자를 유지하는 것입니다. 이 목표를 달성하기 위해 Imagemagick과 같은 오픈 소스 소프트웨어를 사용하여 이진 이미지 (흑백)로 변환 할 수 있습니까? 배경에 여러 색상이있는 경우 어떻게됩니까? 솔루션이 동일할까요?

검은 색 문자 만 유지하도록 자주색 문자 (극장 이름)와 선을 제거하려면 어떻게해야합니까? 보라색 글씨가 다른 장소에서도 나타날 수 있기 때문에 간단한 자르기가 효과가 없을 수 있습니다.

저는 Photoshop과 같은 도구를 사용하는 것이 아니라 프로그래밍에서 해결책을 찾고 있습니다.

+0

왜 일부 이미지 서버에 이미지를 업로드하고 우리가 티켓을 보자하지? –

+0

사이트가 나를 평판 10에 도달 할 때까지 이미지를 업로드하지 못하게하기 때문에 :-(나는 그 마일 스톤에 도착하자마자 게시 할 것이고, 나는 확실히 당신에게 이메일을 보낼 수있다. – charles

답변

3

이미지에 흐림을 적용하여 거의 선명한 배경을 얻을 수 있습니다. 그런 다음 원본 이미지의 각 픽셀의 각 색상 구성 요소를 배경에있는 픽셀의 해당 구성 요소로 나눕니다. 그리고 당신은 흰색 배경에 텍스트를 얻을 것이다. 추가 후 처리는 더 도움이 될 수 있습니다.

이 방법은 텍스트가 배경색보다 어둡거나 (각 색상 구성 요소에있는 경우) 작동합니다. 그렇지 않으면 색상을 반전시키고이 방법을 적용 할 수 있습니다.

6

김프 (또는 다른 이미지 편집 도구)를 사용하여이를 수행 할 수 있습니다.

  1. 상단과 하단의 이미지 차이를 계산 상위 레이어
  2. 에 큰 커널 (10 × 10)을 사용하여 가우시안 블러를 적용
  3. 레이어
  4. 중복 그레이 스케일로 이미지
  5. 변환을 엽니 다 계층
  6. 이진 이미지를 생성하는 이미지의 임계 값

이미지를 흐려 :

enter image description here

차이 이미지 : 진

enter image description here

:

enter image description here

당신이 한 번 오프로하고있는 경우는, GIMP는 아마도 충분히 좋을 것입니다. 이 작업을 여러 번 반복 할 생각이라면 아마도 imagemagick 스크립트를 작성하거나 Python과 OpenCV 같은 것을 사용하여 접근법을 코딩하십시오. 위의 접근 방식

일부 문제 : 그것은 다른 텍스트로 대조로하지 않기 때문에

  • 보라색 텍스트 (세기)가 손실됩니다.이미지의 다른 부분을 다르게 thresholding하거나 로컬 히스토그램 조작 방법을 사용하여 작업 할 수 있습니다.
5

다음은 이미지 처리를위한 가능한 전략을 보여주고, OCR 그것을

마지막 단계는 OCR을하고있다. 내 OCR 루틴은 매우 기본이므로 더 나은 결과를 얻을 수있을 것입니다.

코드는 Mathematica 코드입니다.

enter image description here

전혀 나쁘지!

0

희망이 사람

는 OpenCV의에서 Image Thresholding에 대한 링크를 결과 여기

enter image description here

당신이 OpenCV의 파이썬 여기

#Load image as Grayscale 
im = cv2.imread('....../Downloads/Gd3oN.jpg',0) 
#Use Adaptivethreshold with Gaussian 
th = cv2.adaptiveThreshold(im,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,cv2.THRESH_BINARY,11,2) 

을 사용하고 얻을 수있는 한 줄의 코드를 있어요있어 사용하는 데 도움이

0

있음 Imagemagick, 당신은 그것을하기 위해 -lat 함수를 사용할 수 있습니다.

convert image.jpg -colorspace gray -negate -lat 50x50+5% -negate result.jpg 

enter image description here

convert image.jpg -colorspace HSB -channel 2 -separate +channel \ 
-white-threshold 35% \ 
-negate -lat 50x50+5% -negate \ 
-morphology erode octagon:1 result2.jpg 

enter image description here