2012-02-10 3 views
3

일부 스캔 이미지가 있는데, 스캐너에서 이전에 발견하지 못했던 특정 종류의 노이즈가 발생했습니다. 자동으로 제거하는 방법을 찾고 싶습니다. 소음은 고주파 수직 전단과 비슷합니다. 다시 말해, ------------처럼 보이는 수평선은 전단의 진폭과 빈도가 꽤 규칙적인 것처럼 보이는 /\/\/\/\/\/\/\/\/\으로 나타납니다.고주파 수직 전단 노이즈를 이미지에서 제거합니다.

누군가 다음 단계를 수행 할 방법을 제안 할 수 있습니까?

  1. 주어진 이미지에서, 전단 노이즈의 주파수와 진폭을 식별하십시오. 그것은 항상 수직이며 특성 주파수가 자연스럽게 이미지에 나타나는 다른 주파수보다 높다고 가정 할 수 있습니다.

  2. 위의 매개 변수가 주어지면이 노이즈를 제거하기 위해 이미지에 반대되는 수직주기 전단을 적용하십시오.

또한 이들은 무료로 사용할 이미지 프로세싱 패키지로 구현 된 도구를 사용하여 구현 될 수있는 방법을 알고 도움이 될 것입니다. (Netpbm, ImageMagick, Gimp, 일부 Python 라이브러리는 몇 가지 예입니다.) 사실,이 샘플은 전단 진폭이 이미지 전체에 걸쳐 균일 할 필요는 없음을 보여줍니다. :-( 원본 이미지는 높은 해상도 (600 dpi)로되어

enter image description here

답변

0

문제 내 용액 FFT를 사용하여 주파수 도메인으로 이미지를 변환하는 것이 결과적으로 두 행렬이 될 것이다.. 화상 신호 진폭 및 이미지 신호 위상이이 두 행렬은 입력 이미지의 동일한 크기를 가져야합니다.

이제 진폭 행렬을 사용하여 노이즈 주파수에 해당하는 영역의 스파이크를 감지해야합니다. 이 모서리의 왼쪽 상단은 저주파 성분과 오른쪽 아래 고주파수에 해당해야합니다.

스파이크를 확인한 후에는 해당 계수 (진폭 행렬 항목)를 0으로 설정해야합니다. 역 FFT를 적용한 후에는 노이즈없이 입력 이미지를 얻어야합니다.

문제에 대한보다 구체적인 (실용적인) 해결책을 제시하기 위해 예제 이미지를 제공해주십시오.

+0

나는 우수한 이미지 처리 책에서 그것을 읽었습니다. 피크 제거는 진폭 행렬의 가장 밝은 부분 (규칙에 따라 아마도 가장 어둡습니다)을 "지우고"수정 된 행렬을 사용하여 이미지를 다시 변환하는 것입니다. – heltonbiker

+0

이미지 처리 핸드북 (CRC Press), 6 판, 6 장, 그림 6.26 -주기적인 소음 제거 – heltonbiker

+0

Alceu & heltonbiker, 제안에 감사드립니다. 이 옵션을 고려했지만 다음과 같은 문제가 떠오른다. 잡음은 '잡음이 많은 영상 = 진정한 영상 + 잡음'으로 효율적으로 표현 될 수있는 경우가 될 수 있습니다. 그것은 수직 전단으로 나타나는데, 전체 픽셀 열이주기적인 방식으로 위아래로 이동합니다. 즉'노이즈 이미지 = 전단 변환 (사실 이미지)'입니다. 나는 부가 적이 아닌 다른 전단 변환을 적용하여 노이즈를 제거하는 것이 이미지 무결성에 더 좋을 것이라고 생각합니다. –

0

먼저 Hough fit 또는 RANSAC을 사용하여 선을 맞추십시오. Hough가 작동하려면 가우시안 블러 (Gaussian blur) 또는 형태 학적 확장 (morphological dilation)을 사용하여 점을 "번지 (smear)"할 필요가 있으므로 매개 변수 공간에서 주어진 (ρ, Θ) 행에 대해 더 많은 히트를 얻을 수 있습니다.

선이 맞으면 원점과 각 선의 상대 거리를 결정할 수 있습니다. 그 공간 정보에서 FFT를 사용하여 "최상의 적합"공간 주파수를 찾은 다음 그에 따라 픽셀을 위/아래로 이동할 수 있습니다.

첫 번째 테이크으로, 당신도 FFT를 생략하고 무력 방법의 이상을 사용할 수 있습니다

  1. 는 호우 또는 RANSAC을 사용하여 가장 적합한 라인을 찾습니다.
  2. 선의 방향을 결정하십시오.
  3. (명목상으로) 수평선에 수직으로 샘플링하는 경우, 가장 가까운 가장 가까운 맞춤 선과 관련하여 해당 열을 따라 점을 찾으십시오.
  4. 한 샘플의 점이 평균치와 가장 가까운 거리에있는 경우 해당 열 (또는 그 수직 샘플을 따라)에있는 모든 픽셀을 -N으로 이동하십시오.

이러한 종류의 기술은 수직 샘플을 따라 일정하지만 왼쪽에서 오른쪽으로 일치하지 않는 경우 작동해야합니다. 전단이 항상 정확히 수직 인 경우 수평선을 찾는 것이 상대적으로 쉽습니다.

견본 이미지를 보면 3 차원 또는 4 방향 교차점과 명목상 수직선 선 사이의 수평선 세그먼트에서 전단력이 일정한 것처럼 보입니다. 모서리 검출기 또는 다른 방법을 사용하여 이러한 교점을 찾아 픽셀 이동 작업이 수행되는 범위를 제한 할 수 있습니다.

내가 여기에 게시하는 기술들이 줄에 해당하지 않는 경우에는 어두운 픽셀의 수평 뻗어 찾을 수있는 또 다른 방법이다 : 옆으로 모든 것을 Is there an efficient algorithm for segmentation of handwritten text?

을, 당신은 스캐너가 해결 한 수있는 기회가있다 ?

+1

감사! 내가 명성을 얻었다면 나는 업보를했다. 이것은 도움이되는 것처럼 보이지만, 먼저 내가 제안한 방법을 읽어야합니다. 스캐너를 고정하는 것이 가장 쉬운 방법이었을 것입니다. 불행히도, 도서관에서 나온 오래된 뻔뻔한 마이크로 피시 독자였습니다. 단순한 필사자가 고칠 수 있다고 생각하지 않습니다. : -/ –

+0

당신을 환영합니다! 당신이 붙어서 내가 도와 주려고하면 나에게 알려줘. – Rethunk