정수 인자로 이미지 다운 샘플링


16

정수 인자 이미지를 다운 샘플링 할 때 , 확실한 방법은 출력 이미지의 픽셀을 입력 이미지의 해당 블록 의 평균으로 설정하는 것 입니다.×

이 방법이 최적이 아니라는 것을 어딘가에서 읽은 것을 기억합니다 (죄송 합니다만 자세한 내용은 기억 나지 않습니다)

더 나은 방법이 있다는 것이 사실입니까 (그렇다면 위의 방법은 "분명히"정확 해 보이지만 어디에서 실패합니까)? 신호 처리에 대해 많이 알지 못합니다.이 질문은 저에게 관심이 있습니다.


신호 처리 배경이없는 경우 일반인의 설명은 다음과 같습니다. 다운 샘플링을위한 더 나은 방법이 있습니다. 다운 샘플링 알고리즘은 기술적으로 N BUT에 의해 이미지 픽셀 크기를 더 작게 만들지 만, 위에서 설명한 알고리즘은 더 나은 다운 샘플링 알고리즘과 비교할 때 품질이 크게 저하됩니다.
Trevor Boyd Smith

답변:


16

이미지를 다운 샘플링하면 신호를 나타낼 수있는 샘플 수가 줄어 듭니다. 주파수 영역과 관련하여, 신호가 다운 샘플링 될 때, 신호의 고주파 부분은 저주파 부분과 앨리어싱 될 것이다. 이미지 프로세싱에 적용될 때, 원하는 결과는 저주파 부분만을 보존하는 것이다. 이렇게하려면 앨리어싱이 발생하지 않도록 고주파수 부분을 제거하기 위해 원본 이미지를 사전 처리 (별칭 필터링)해야합니다.


고주파 부분 (가장 날카로운 컷오프)을 제거하는 최적의 디지털 필터는 sinc 기능 입니다. 그 이유는 Sinc 함수의 주파수 영역 표현이 전체 저주파 영역에서 거의 일정한 1이고 전체 고주파 영역에서 거의 일정한 0이기 때문입니다.

sinc(엑스)=(π엑스)π엑스

sinc 필터의 임펄스 응답은 무한합니다. Lanczos 필터 는 수정 된 sinc 필터로 sinc 계수를 감쇠시키고 값이 무의미하게 떨어지면 잘립니다.


그러나 주파수 영역에서 최적이라는 것은 인간의 눈에서 최적이라는 것을 의미하지는 않습니다. 선형 변환에는 따르지 않지만 선형보다 더 나은 결과를 생성하는 업 샘플링 및 다운 샘플링 방법이 있습니다.


×

좌표 대응의 최소 요구 사항은

  1. 임의의 임의의 값을 포함하는 이미지를 정수 인자로 업 샘플링 한 다음 동일한 정수 인자로 다운 샘플링하면 수치 적으로 최소한의 변화로 동일한 이미지가 생성됩니다.
  2. 하나의 균일 한 값으로 구성된 이미지를 업 샘플링 / 다운 샘플링 한 후 반대 작업을 수행하면 최소한의 수치 편차로 동일한 값으로 균일하게 구성된 이미지가 생성됩니다.
  3. 업 샘플링 / 다운 샘플링 쌍을 반복해서 적용하면 이미지 내용의 이동을 최대한 최소화해야합니다.

sinc 함수의 변환이 각 영역에서 "거의"1과 0이라는 것은 무엇을 의미합니까?

@Tim : sinc 필터의 차단 주파수 근처의 깁스 현상 .
rwong

2
Sinc Resampling은 오디오와 같이 주파수 영역에서 감지 / 처리 된 신호에만 의미가 있습니다. 이미지는 공간 영역에서 적어도 대략 인식됩니다 (이는 논쟁의 여지가 있습니다. 반복되는 패턴에 대한 인식이 주파수 영역에있을 수 있습니다). 주파수 영역 기반 변환은 이미지 영역에서 심한 왜곡 (링 등)을 생성합니다. 공간 영역. 기본적으로 음수 계수를 사용하는 컨벌루션 / 선형 연산은 불규칙한 아티팩트를 생성하고 음수가 아닌 모든 계수를 사용하면 블러 링이 발생합니다.
R .. GitHub 중지 지원 얼음

6

영역 평균화는 얻을 수있는 "가장 정확한"값과 거의 비슷하지만 문제는 N 너비만큼 날카로운 너비 N 선을 축소 할 때 동작이 일관성이 없다는 것입니다. 선의 위치가 모듈로로 정렬 된 경우 N, 당신은 날카로운 1 픽셀 라인을 얻을 것이지만, 대략 N / 2 mod N이라면, 매우 희미한 라인을 얻을 것입니다 (반 강도에서 2 픽셀 너비). 이것은 매우 나빠 보일 수 있으며 비선형 감마에서는 강도 차이가 발생할 수도 있습니다. (사실 모든 리샘플링은 선형 강도 스케일에 대해 감마 보정으로 수행해야하지만 실제로는 실제로 비용이 많이 들기 때문에 거의 아무도 그렇게하지 않습니다.)

이를 개선하려면 먼저 블러 링을 줄이는 것이 불가능하다는 사실을 먼저 받아 들여야하므로 균일 한 출력을 얻는 유일한 방법 은 블러 링을 늘리는 것입니다. 이상적인 방법은 단계 이미지가 아닌 반지름이 N / 2보다 큰 가우스 커널을 소스 이미지와의 컨볼 루션 함수로 사용하는 것입니다. 근사값을 계산하는 가장 저렴한 방법은 N-N-N 영역 평균화 구현이 이미있는 경우 다운 샘플링 된 결과에 (1 / 4,1 / 2,1 / 4) 블러 컨벌루션을 적용하는 것입니다. 영상.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.