문제

나는 반 알리 아스에 대해 조금 읽고 있었고 이해가 된 것 같지만, 내가 너무 확실하지 않은 한 가지가 있습니다. 그래픽의 맥락에서 신호의 최대 주파수를 정확히 어떻게 찾습니까?

나는 하나 이상의 사례가 있다는 것을 알고 있으므로 하나 이상의 대답이 있다고 가정합니다. 그러나 먼저 최대 주파수를 나타내는 간단한 알고리즘을 언급하겠습니다. 그래서 누군가가 잘못된 방식으로 개념화하는지 말해 줄 수 있습니다.

1 차원, 유한 및 그리스 스케일 이미지 (픽셀)에 대한 것이라고 가정 해 봅시다. 최소 진동에 대한 A를 찾기 위해 전체 픽셀 라인 (공간 영역에서)을 간단히 스캔 할 수 있다고 가정하면 가장 작은 진동의 역수는 최대 주파수 일 것입니까?

EX 값 {23,26,28,22,48,49,51,49}

주파수 : 설정에 관한 {}

(1/2) = .5 : {28,22}

(1/4) = .25 : {22,48,49,51}

그렇다면 .5는 최대 주파수일까요?

그리고 위와 같은 픽셀 라인에 대해 이것을 계산하는 이상적인 방법은 무엇입니까?

그리고 더 이론적으로, 샘플링 입력이 무한하다면 (실제 세계와 비슷하다면) 어떨까요? 유효한 프로세스는 다음과 같습니다.

Predetermine a decent interval for point sampling
Determine max frequency from point sampling
while(2*maxFrequency >  pointSamplingInterval)
{
pointSamplingInterval*=2
Redetermine maxFrequency from point sampling (with new interval)
}

나는 이러한 알고리즘이 비 효율성으로 가득 차 있다는 것을 알고 있습니다. 그래서 선호하는 방법은 무엇입니까? (미친 것, 근본적으로 더 나은 개념을 찾고 있지 않음)

도움이 되었습니까?

해결책

이것에 접근하는 올바른 방법은 푸리에 변환을 사용하는 것입니다 (실제로 FFT, 또는 빠른 푸리에 변환)

이론은 다음과 같이 작동합니다. 색상/그레이 스케일이있는 픽셀 세트가 있다면 이미지가 "공간 도메인"의 픽셀로 표시된다고 말할 수 있습니다. 즉, 각 개별 번호는 특정 공간 위치에서 이미지를 지정합니다.

그러나 우리가 정말로 원하는 것은 "주파수 도메인"에서 이미지를 표현하는 것입니다. 각 픽셀을 지정하는 각 개별 번호 대신 각 숫자는 이미지 전체의 특정 주파수의 진폭을 나타냅니다.

"공간 도메인"에서 "주파수 도메인"으로 변환하는 도구는 푸리에 변환입니다. FT의 출력은 다른 주파수의 상대적 기여를 지정하는 일련의 숫자입니다.

최대 주파수를 찾으려면 FT를 수행하고 고주파수에 대해 얻는 진폭을 살펴보십시오. 그러면 "최소 상당한 진폭"임계 값에 부딪 칠 때까지 가장 높은 주파수에서 검색하는 문제입니다.

자신의 FFT를 코딩 할 수 있지만 실제로는 사전 포장 된 라이브러리를 사용하는 것이 훨씬 쉽습니다. fftw

다른 팁

가장 높은 주파수에 대한 신호를 스캔하지 않은 다음 샘플링 주파수를 선택합니다. 캡처하려는 물건을 캡처 할 수있을 정도로 높은 샘플링 주파수를 선택한 다음 필터 신호 제거하다 고주파. 샘플링 속도의 절반보다 높은 모든 것을 버립니다. ~ 전에 당신은 그것을 샘플링합니다.

최소 진동에 대한 A를 찾기 위해 전체 픽셀 라인 (공간 영역에서)을 간단히 스캔 할 수 있다고 가정하면 가장 작은 진동의 역수는 최대 주파수 일 것입니까?

픽셀 라인이있는 경우 샘플링이 이미 완료되었습니다. 안티 아시아 필터를 적용하기에는 너무 늦었습니다. 존재할 수있는 가장 높은 주파수는 샘플링 주파수의 절반입니다 ( "1/2px").

그리고 더 이론적으로, 샘플링 입력이 무한하다면 (실제 세계와 비슷하다면) 어떨까요?

예, 그때 필터를 사용할 때입니다. 먼저 실제 이미지 (무한 샘플링 속도)와 같은 연속 기능이 있습니다. 그런 다음 FS/2 위의 모든 것을 제거하도록 필터링 한 다음 FS에서 샘플링합니다 (이미지를 픽셀로 디지털화). 카메라는 실제로 필터링을하지 않기 때문에 무어 패턴 벽돌 등을 촬영할 때

alt text

반 알리 아스 컴퓨터 그래픽을 사용하는 경우 먼저 이상적인 연속 수학적 기능을 생각하고 필터링하고 화면에서 출력을 생성하도록 디지털화하는 방법을 생각해야합니다.

예를 들어, 컴퓨터로 사각형 파를 생성하려면 최대 값과 최소 값을 순진하게 번갈아 볼 수는 없습니다. 그것은 먼저 필터링하지 않고 실제 신호를 샘플링하는 것과 같습니다. 더 높은 고조파는베이스 밴드로 다시 감싸서 스펙트럼에서 많은 가짜 스파이크를 유발합니다. 필터링 된 연속 수학적 함수에서 샘플링 된 것처럼 점을 생성해야합니다.

alt text

나는 O'Reilly 사이트 의이 기사가 당신에게 유용 할 수도 있다고 생각합니다 ... http://www.onlamp.com/pub/a/python/2001/01/31/numerically.html ... 거기에서 그들은 사운드 파일의 주파수 분석을 말하지만 아이디어를 제공합니다.

나는 당신이 필요한 것이 푸리에 분석의 적용이라고 생각합니다.http://en.wikipedia.org/wiki/fourier_analysis). 나는 이것을 연구했지만 결코 사용하지 않았으므로 소금 한 덩어리로 가져 가면 숫자 세트에 올바르게 적용하면 시리즈의 구성 요소 인 주파수 세트가 얻어지면 가장 높은 것.

나는 이것을하는 코드를 당신을 가리킬 수는 없지만 어딘가에있을 것이라고 확신합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top