게시판 답변이 생성됐습니다
-
글쓴이글
-
룰루회원
음.. fft를 하면 x축은 주기가 아닌 주파수로 알고 있습니다.
주파수는 주기의 역수이므로.. 앞부분부터 차례대로 피크점들이 낮아지지 않을까요?
쉬프트 된건 ‘lag = FINDGEN(DN/2)+1’ 여기서 +1 때문에 되어 있는거 같은데,
처음 코딩을 하실 때 의미를 두고 하신건지 아닌지는 잘 모르겠네요.
그리고 젤 앞부분에 큰 피크 값을 가지는 것은 수학적으로는 잘 모르겠지만 모든 좌표점들이 +방향으로
쏠려서 그렇습니다. 여기서는 예제로 만드셧기 때문에 t1,t2,t3 함수에서 ‘+12’를 제거하시면 fft가
바로 그려지는걸 확인하실 수 있구요. 혹시 실제 데이터도 +방향으로 쏠려 있다면, 저같은 경우에는
어차피 fft는 주파수를 확인하기 위해 사용하는 것이니 데이터를 약간 아래로 쉬프트 해서 사용하고 있습니다.
- 이 답변은 룰루에 의해 10 years, 3 months 전에 수정됐습니다.
룰루회원일단 저는 Sangwoo님과 비슷하게 linear interpolation하여 간격비를 이용해 산수로 했었는데,
배열로도 한번 해봐야겠네요. 그리고 tlseorb0111님이 올려주신 예제로도 한번 해보고 비교한번
해봐야 겠네요.ㅎㅎ
두분 답변 감사드립니다 .^^:
룰루회원그렇군요.
처음 이미지를 만들때 grayscale로 만들었기 때문에 RGB정보를 가질거라곤
생각을 못했었습니다. 다시 한번더 확인을 해봐야겠네요.
감사함니다.ㅎㅎ
룰루회원아 감사함니다.^^; 잘 해결 되었네요.ㅎ
IDL도 참..ㅎ 제가 제가 아직 컴퓨터 언어를 잘 이해하질 못해서
쉬울거 같은데도 잘 안되네요 .ㅠㅠ
sando님 질문에 몇가지 답변을 드릴꼐요.
제가 이번에 불러드린 이미지는 저번과 같은 801 x 609 사이즈의 jpeg이미지입니다.
file = “c:\test\” + strtrim(string(i+1), 2) + “.jpg”
read_jpeg, file, img1으로 이미지를 읽으면 무슨 이유인지 모르겠는데,
img1의 배열이 801 x 609의 2차원 배열이 아니라 3 x 801 x 609의 3차원 배열로 읽더군요.
실제로 tv, img1 으로 뿌려주면 검은 화면만 나오고 이미지가 나오지 않았구요.
그래서 img1의 배열을 801 x 609 사이즈로 만들어 주기 위해서
img1 =reform(img1[0,*,*],isz(2), isz(3)) 를 넣었습니다.
그리고 isz=size(img1)는 사실 매번 이미지의 배열을 넣어줘도 상관은 없지만..
그것도 그것 나름대로 귀찮을거 같아서 size함수를 사용해서 한꺼번에 들어갈 수 있도록 넣었습니다.ㅎ
reform하기전에 size 는 3차원 배열이라 Second dimension이 801이고 Third dimension이 609라서
reform 함수에 isz(2)와 isz(3)을 넣었습니다.
reform후에 size는.. 지금 가만히 생각해보니 할 필요는 없었는데 쓸대없는 짓이 되어 버렸네요.ㅎ
이번에는 사용하지 않았지만 예전 코드에는 reform후 2차원으로 바뀐 img배열의 행과 열을
알기 위해서 넣었습니다. 그럼 801 x 609 의 정보는 First dimension인 isz(1)과
Second dimension인 isz(2)이 가지고 있기 때문에 그 이후에는 전부 isz(1)과 isz(2)를
사용했엇지요.ㅎ
그냥 그대로 size함수를 다시 사용하지 않고 그대로 isz(2)와 isz(3)을 사용하면 되는데 말이지요.ㅎㅎ
룰루회원감사함니다.ㅎㅎ
-
글쓴이글