ฉันมีภาพ 2 มิติซึ่งฉันต้องการกรองสัญญาณต่ำด้วยข้อ จำกัด / ตัวชี้วัดคุณภาพเหล่านี้:
- ฉันไม่สามารถ "เพิ่ม" แสงให้กับภาพดังนั้นแต่ละพิกเซลในผลลัพธ์ควรเป็น <= พิกเซลที่สอดคล้องกันในอินพุต
- ความถี่ cutoff ต่ำสุดควรเป็นพารามิเตอร์สำหรับการทดสอบ
- การใช้ตัวกรองนี้ซ้ำ ๆ ไม่ควรเปลี่ยนผลลัพธ์อย่างมีนัยสำคัญ
- เวลาที่ใช้ในการเรียกใช้อัลกอริธึม (5 นาทีสำหรับภาพ 5MPix นั้นสมเหตุสมผล)
- ลดปริมาณแสงที่ถูกกรองให้น้อยที่สุด
ด้านล่างนี้เป็นวิธีที่ฉันลองใช้พร้อมกับข้อบกพร่อง:
ตัวกรองแบบเกาส์เหมือนปกติจากนั้นดึงผลลัพธ์ลงมาเพื่อให้สอดคล้องกับข้อ จำกัด 1. สิ่งนี้สอดคล้องกับ 3 จุดแรกได้เป็นอย่างดี แต่ลดแสงได้มากกว่าที่จำเป็นมาก
ปรับพาราโบลา "ขึ้น" ผ่านจุด "ต่ำ" และพาราโบลา "ลดลง" ระหว่างพวกเขาให้เรียบ วิธีนี้ใช้งานได้ดีใน 1D แต่ใช้ในแนวนอนก่อนแล้วจึงสร้างผลลัพธ์ที่ไม่ดีในแบบ 2D ใช้เวลานานมาก แต่ไม่นานเกินไปสำหรับใบสมัครของฉัน อย่างไรก็ตามการใช้ตัวกรองนี้ซ้ำแล้วซ้ำอีกจะเปลี่ยนผลลัพธ์อย่างมาก หากอินพุต (1D) เป็นพาราโบลา "ลง" ที่สมบูรณ์แบบ (ซึ่งไม่ควรถูกกรองเลย) จะถูกแทนที่ด้วยพาราโบลา 2 "ขึ้นไป" ซึ่งนั่งอยู่ที่จุดเริ่มต้น / สิ้นสุด
ใช้รูปแบบอื่น ๆ ของฟังก์ชั่น "พื้นฐาน" 2D และการแก้ปัญหาเชิงเส้นเพื่อค้นหาพารามิเตอร์ที่ดีที่สุด นี่เป็นความคิดในปัจจุบันเท่านั้นยังไม่ได้ใช้งาน / ทดสอบ
ประสบการณ์ในการประมวลผลสัญญาณของฉันเกือบจะเป็นการประมวลผลภาพเท่านั้นดังนั้นฉันหวังว่าจะหาทางเลือกสำหรับปัญหานี้โดยอินพุตของผู้เชี่ยวชาญที่ใช้งานในด้านอื่น ๆ ของการประมวลผลสัญญาณ
อัปเดต 2011/08/18
จากปฏิกิริยาปัจจุบันฉันตัดสินใจที่จะทำให้สิ่งต่าง ๆ ชัดเจนขึ้นโดยการเพิ่มกราฟของอินพุตปกติและผลลัพธ์ของ 3 วิธีที่ฉันอธิบายไว้ตั้งแต่แรก + คำแนะนำที่ฉันได้รับจนถึงตอนนี้ เพื่อการเปรียบเทียบที่ง่ายฉันใช้ตัวกรอง 1D ในตัวอย่างเหล่านี้
ข้อมูลอินพุต:
ตัวกรองแบบเกาส์ + นำมาลงเพื่อให้เป็นไปตามข้อกำหนด (1)
คุณจะเห็นได้ว่าการลดระดับลงนั้นส่งผลให้การลดลงของแสงที่ไม่จำเป็นทางด้านขวามือ
Parabolas
เท่าที่ฉันเป็นห่วงมันยอดเยี่ยมมากและน่าเศร้าที่มันไม่แปลเป็น 2D ได้อย่างสมบูรณ์โดยการใช้แนวนอนแรกแล้วตามแนวตั้ง ในกรณีนี้คุณจะเห็นว่าฉันสามารถประเมินพาราโบลาที่ติดตั้งได้ในการแก้ปัญหาจุดลอยตัวซึ่งเป็นข้อดีเล็กน้อย แต่ไม่จำเป็นอย่างยิ่ง
การกัดเซาะระดับสีเทา
ตามคำแนะนำจากรวงค์ฉันพยายามกร่อนระดับสีเทา ฉันใช้องค์ประกอบโครงสร้างที่มีรูปร่างเป็นรูปโค้งเช่นเดียวกับพาราโบลา "พอดี" ของฉัน ผลลัพธ์เกือบจะเหมือนกันทุกประการดังนั้นนี่จึงดูมีแนวโน้ม อย่างไรก็ตามยังคงมีปัญหาเล็กน้อย: 1. องค์ประกอบโครงสร้างของฉันไม่ "ใหญ่พอ" (แม้ว่าจะกว้าง 801 พิกเซลแล้ว) 1. ฉันมีพาราโบลา "ขึ้นไป" เท่านั้นไม่มี "พาราโบลาลง" เพื่อปรับการเปลี่ยนจากพาราโบลาหนึ่ง ไปที่ถัดไป
ค่ามัธยฐานการกรอง
รวมไว้เพื่อความครบถ้วนเท่านั้นไม่ใช่สิ่งที่ฉันต้องการจริงๆ
ข้อมูลดิบ
ฉันวางข้อมูลดิบ + คำสั่งหลามแบบต่างๆบน pastebin เพื่อให้คุณสามารถทดสอบด้วยข้อมูลเดียวกันได้
http://pastebin.com/ASnJ9M0p