2017-12-09 10 views
1

학교 프로젝트의 필기 인식 코드를 작성 중입니다. 우리는 스스로 데이터를 수집하기를 원하며 현재 필기체로 된 문자로 문서를 스캔하고 모든 문자에 대해 자체 이미지를 만드는 프로그램을 만들고 있습니다. 나는 문자의 정확한 크기로 이미지를 자르고 모든 문자가 같은 치수를 가지도록 흰색 문자를 크기를 조정하여 흰색 배경에 배치하므로 문자의 크기는 같지만 원래 비율은 그대로 유지됩니다. 나는 이미 잘 작동하고있다. 유일한 문제는 내가 그림에 약간의 노이즈가있을 때 작동한다는 것이다. 이미지 (첨부 파일 참조)와 이미지의 모든 픽셀 목록이 있습니다. 이미지를 노이즈가 아닌 이미지 경계로 자르는 좋은 방법은 무엇입니까?그레이 이미지에서 노이즈 제거 PIL

I는 화상 잘라 사용하는 코드 :

def cut_to_edge(image, data, width, height): 
    left = width 
    right = 0 
    down = 0 
    up = height 

    for i in range(len(data)): 
     for j in range(len(data[i])): 
      if data[i][j] < 225: 
       if j < left: 
        left = j 
       if j > right: 
        right = j 
       if i < up: 
        up = i 
       if i > down: 
        down = i 

    letter = image.crop((left, up, right, down)) 

    return letter 

화상 이미지 (명백하게)이며이 데이터는 모든 픽셀을 가진 2 차원 목록 ([. ROW1] ROW2] 등]) 하여 잡음 인 경우, 폭과 높이 이미지

The image I need to cut, how it should look, How it looks now

+1

제가 먼저 OpenCV의 필터를 사용하여 문제를 해결 https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_photo/py_non_local_means/py_non_local_means.html –

+0

참조 –

답변

0

의 치수는 작은 점처럼 Median 필터를 작성하면 문제를 해결할 수 있습니다. 이 필터의 주된 아이디어는 픽셀 단위로 이미지를 반복하고 각 픽셀 값을 인접한 픽셀의 중앙값으로 대체하는 것입니다.

하지만 먼저 노이즈 유형을 확인한 다음 올바른 필터를 적용해야합니다.

+0

노이즈 픽셀들의 그룹이고, 내가 추가 한 이미지 중 하나는 3 x 4 픽셀입니다. –