정수 인자 이미지를 다운 샘플링 할 때 , 확실한 방법은 출력 이미지의 픽셀을 입력 이미지의 해당 블록 의 평균으로 설정하는 것 입니다.
이 방법이 최적이 아니라는 것을 어딘가에서 읽은 것을 기억합니다 (죄송 합니다만 자세한 내용은 기억 나지 않습니다)
더 나은 방법이 있다는 것이 사실입니까 (그렇다면 위의 방법은 "분명히"정확 해 보이지만 어디에서 실패합니까)? 신호 처리에 대해 많이 알지 못합니다.이 질문은 저에게 관심이 있습니다.
정수 인자 이미지를 다운 샘플링 할 때 , 확실한 방법은 출력 이미지의 픽셀을 입력 이미지의 해당 블록 의 평균으로 설정하는 것 입니다.
이 방법이 최적이 아니라는 것을 어딘가에서 읽은 것을 기억합니다 (죄송 합니다만 자세한 내용은 기억 나지 않습니다)
더 나은 방법이 있다는 것이 사실입니까 (그렇다면 위의 방법은 "분명히"정확 해 보이지만 어디에서 실패합니까)? 신호 처리에 대해 많이 알지 못합니다.이 질문은 저에게 관심이 있습니다.
답변:
이미지를 다운 샘플링하면 신호를 나타낼 수있는 샘플 수가 줄어 듭니다. 주파수 영역과 관련하여, 신호가 다운 샘플링 될 때, 신호의 고주파 부분은 저주파 부분과 앨리어싱 될 것이다. 이미지 프로세싱에 적용될 때, 원하는 결과는 저주파 부분만을 보존하는 것이다. 이렇게하려면 앨리어싱이 발생하지 않도록 고주파수 부분을 제거하기 위해 원본 이미지를 사전 처리 (별칭 필터링)해야합니다.
고주파 부분 (가장 날카로운 컷오프)을 제거하는 최적의 디지털 필터는 sinc 기능 입니다. 그 이유는 Sinc 함수의 주파수 영역 표현이 전체 저주파 영역에서 거의 일정한 1이고 전체 고주파 영역에서 거의 일정한 0이기 때문입니다.
sinc 필터의 임펄스 응답은 무한합니다. Lanczos 필터 는 수정 된 sinc 필터로 sinc 계수를 감쇠시키고 값이 무의미하게 떨어지면 잘립니다.
그러나 주파수 영역에서 최적이라는 것은 인간의 눈에서 최적이라는 것을 의미하지는 않습니다. 선형 변환에는 따르지 않지만 선형보다 더 나은 결과를 생성하는 업 샘플링 및 다운 샘플링 방법이 있습니다.
좌표 대응의 최소 요구 사항은
영역 평균화는 얻을 수있는 "가장 정확한"값과 거의 비슷하지만 문제는 N 너비만큼 날카로운 너비 N 선을 축소 할 때 동작이 일관성이 없다는 것입니다. 선의 위치가 모듈로로 정렬 된 경우 N, 당신은 날카로운 1 픽셀 라인을 얻을 것이지만, 대략 N / 2 mod N이라면, 매우 희미한 라인을 얻을 것입니다 (반 강도에서 2 픽셀 너비). 이것은 매우 나빠 보일 수 있으며 비선형 감마에서는 강도 차이가 발생할 수도 있습니다. (사실 모든 리샘플링은 선형 강도 스케일에 대해 감마 보정으로 수행해야하지만 실제로는 실제로 비용이 많이 들기 때문에 거의 아무도 그렇게하지 않습니다.)
이를 개선하려면 먼저 블러 링을 줄이는 것이 불가능하다는 사실을 먼저 받아 들여야하므로 균일 한 출력을 얻는 유일한 방법 은 블러 링을 늘리는 것입니다. 이상적인 방법은 단계 이미지가 아닌 반지름이 N / 2보다 큰 가우스 커널을 소스 이미지와의 컨볼 루션 함수로 사용하는 것입니다. 근사값을 계산하는 가장 저렴한 방법은 N-N-N 영역 평균화 구현이 이미있는 경우 다운 샘플링 된 결과에 (1 / 4,1 / 2,1 / 4) 블러 컨벌루션을 적용하는 것입니다. 영상.