ทำไมส่วนที่แท้จริงของ FFT จึงแปลงภาพเป็นการหมุน + ดั้งเดิม


16

ฉันได้อ่านภาพนี้:

ป้อนคำอธิบายรูปภาพที่นี่

นำ FFT ของมัน (2D) แล้ว Inverse FFT เพื่อให้ได้ภาพกลับมาอย่างแน่นอน รหัสที่ให้ไว้สำหรับการอ้างอิง:

imfft = fft2(photographer);
im = uint8(ifft2(imfft));

imshow(im); %Output is same image

แต่เมื่อฉันเปลี่ยนฟูเรียร์และมีส่วนที่แท้จริงเท่านั้น

imfft = real(fft2(photographer));
im = uint8(ifft2(imfft));
imshow(im);

ฉันได้รับภาพเช่นนี้ ( โปรดทราบว่าการเปลี่ยนแปลงขนาดไม่เกี่ยวข้องและเนื่องจากการบันทึกจากตัวจัดการรูป Matlab ):

ป้อนคำอธิบายรูปภาพที่นี่

ใครสามารถอธิบายทฤษฎี (คณิตศาสตร์) ที่อยู่เบื้องหลังฉันได้ไหม ขอบคุณ

คำตอบ:


16

สมมติว่าภาพของคุณจะได้รับจากy) จากนั้นการแปลงฟูริเยร์จะได้รับจาก ผม(x,Y)

ผม(ωx,ωY)=xYผม(x,Y)อีJωxxอีJωYYdxdY

ตอนนี้คุณมีส่วนที่แท้จริงและทำสิ่งที่ตรงกันข้าม:

ผมม.(α,β)=ωxωY{ผม(ωx,ωY)}อีJωxαอีJωYβdωxdωY=ωxωY{xYผม(x,Y)อีJωxxอีJωYYdxdY}อีJωxαอีJωYβdωxdωY=xYผม(x,Y)ωxωY{อีJωxxอีJωYY}อีJωxαอีJωYβdωxdωYdxdY

คุณจะเห็นได้อย่างชัดเจนว่าอินทิกรัลภายในคือการแปลงฟูริเยร์แบบสองมิติของ ซึ่งเป็น

cos(ωxx)cos(ωYY)+บาป(ωxx)บาป(ωYY)
12[δ(x-α)δ(Y-β)+δ(x+α)δ(Y+β)]

การแทนที่ผลลัพธ์เป็นให้ผลลัพธ์ ผมม.

ผมม.(x,Y)=12[ผม(x,Y)+ผม(-x,-Y)]

แน่นอนในกรณีของคุณอย่างไรก็ตามการแปลงฟูเรียร์โดยสิ้นเชิงถือว่าสัญญาณของคุณคือ -periodicและคุณได้รับ โดยที่คือขนาดของภาพของคุณ ฉันคิดว่าคุณสามารถเห็นได้ตอนนี้ทำไมคุณถึงได้ผลลัพธ์x,Y>0ยังไม่มีข้อความ

ผมม.(x,Y)=12[ผม(x,Y)+ผม(ยังไม่มีข้อความ-x,M-Y)]
ยังไม่มีข้อความ,M

คำตอบที่ดี! +1
Peter K.

3
I think you can see now why got that result.ใช่. อย่างไรก็ตามเนื่องจากคำถามนี้เข้ามาในรายการ HNQ คุณอาจลองเพิ่มขั้นตอนสุดท้ายสำหรับผู้ที่เข้ามาจากไซต์ที่มีการคำนวณทางคณิตศาสตร์น้อยกว่า
เสา

9

THP ผลที่ได้นอกจากนี้ยังอาจกล่าวได้ง่ายมากในแง่: ถ้าคุณมีชุดข้อมูลที่หมดจดจริงมัน (ผกผัน) ฟูเรียร์จะมีความสมมาตรเทียน: หากคุณพบว่าค่าที่ตำแหน่งแล้ว คุณจะพบค่าคอนจูเกตที่ซับซ้อนที่ตำแหน่งสะท้อนจุดเกี่ยวกับจุดกำเนิด โปรดทราบว่าต้นกำเนิดที่นี่จะเป็นศูนย์กลางของฟูริเยร์ - สเปซ ซึ่งสามารถปรับรูปแบบได้ใหม่หากองค์ประกอบ DC ไม่ได้อยู่ในศูนย์กลางของการใช้งาน FFT ของคุณ และนี่คือสิ่งที่คุณเห็นในภาพของคุณ: รุ่นที่มีจุดสะท้อนซ้อนทับภาพจริง - เพราะคุณบังคับให้เว้นวรรคหนึ่งค่าจริงZ(x,Y)Z* * * *(-x,-Y)

คุณสมบัตินี้ใช้เพื่อเร่งการถ่ายภาพด้วยคลื่นสนามแม่เหล็ก (MRI) ในบางกรณี: MRI ได้รับข้อมูลโดยตรงในพื้นที่ฟูริเยร์ เนื่องจากภาพ MR ที่สมบูรณ์แบบสามารถอธิบายได้ด้วยค่าจริงเท่านั้น (เวกเตอร์การสะกดจิตที่น่าตื่นเต้นทั้งหมดมีเฟส 0) คุณจึงต้องได้รับครึ่งหนึ่งของพื้นที่ข้อมูลซึ่งช่วยให้คุณประหยัดเวลาในการถ่ายภาพเพียงครึ่งเดียว แน่นอนว่าภาพ MR ไม่ได้มีคุณค่าอย่างแท้จริงเนื่องจากข้อ จำกัด ของความเป็นจริง ... แต่ด้วยเทคนิคเล็กน้อยคุณยังสามารถใช้เทคนิคนี้ได้อย่างได้ผล


2
ฉันชอบวิธีง่ายๆในการระบุคำตอบเดียวกับที่ ThP ให้ไว้ และขอขอบคุณสำหรับข้อมูลเกี่ยวกับ MRI ไม่รู้เรื่องนั้น
นักวิทยาศาสตร์ล้มเหลว
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.