skyline_extract — GEOCAM skyline op

• Data kinds: image2d → signal

• Call: import fullseye as fs; fs.ledger.skyline_extract(image, sky_is_bright=True, smooth=1.5, max_jump=3, jump_penalty=0.5) (implementation को सीधे call करना हो तो import geocam; geocam.skyline_extract(image, sky_is_bright=True, smooth=1.5, max_jump=3, jump_penalty=0.5), registry से लेना हो तो opsgeocam.get("skyline_extract"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

photo से dynamic programming द्वारा हर column के लिए आकाश–terrain सीमा की row वाली 1 line निकालता है → signal (W,)।

लाई, लिन और एचएसयू 2005 के समान विचार (*पैटर्न पहचान*: नेविगेशन के लिए मजबूत स्काईलाइन एक्सट्रैक्शन):

ऊर्ध्वाधर दिशा में चमक में परिवर्तन (यदि आकाश ऊपर चमकीला है, I[v−1] − I[v+1] सकारात्मक है) को सीमा-समानता'' माना जाता है, लगातार पथों में से सबसे कम लागत वाला पथ चुनें जो अगले कॉलम से max_jump पंक्तियों से अधिक न कूदें (जंप_पेनल्टी × लाइन जंप)। भले ही बादलों या इमारतों के ऊर्ध्वाधर किनारों पर स्थानीय रूप से मजबूत प्रतिक्रिया हो, पथ निरंतरता वास्तविक सीमा रेखाएँ छोड़ती है।

तर्क:

छवि: (एच, डब्ल्यू) फ्लोट। आरजीबी के लिए, पहले इसे ग्रे बनाएं।

आकाश_उज्ज्वल: आकाश भूभाग (दिन के समय) की तुलना में अधिक चमकीला है। यदि रात्रि दृश्य/बैकलाइट में यह उलटा हो तो गलत।

चिकना: लंबवत गाऊसी σ [पिक्सेल] (शोर)। 0 अक्षम करता है.

max_jump: आसन्न कॉलम [पिक्सेल] में पंक्ति कूद की अनुमति है।

जंप_पेनल्टी: प्रति जंप पिक्सेल लागत (सीमा संभावना 0 से 1 तक सामान्यीकृत है)।

रिटर्न:

सिग्नल (डब्ल्यू,) फ्लोट: प्रत्येक कॉलम के लिए सीमा पंक्ति (0 शीर्ष पंक्ति है)। केवल आकाश/स्थलाकृति दिखाई गई है

जो छवियां नहीं दिखाई गई हैं, उनमें औसत सीमा प्रतिक्रिया 0 के करीब है, इसलिए वैल्यूएरर

पर रुकें (चुप रहें और शोर रेखा वापस न करें)।

उपयोग की विस्तृत guide

• geocam family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_public_camera_heading — py -3.11 examples/poc_public_camera_heading.py

वे अगले ops जिनसे type जुड़ता है (signal को input के रूप में लेते हैं)

sun_position · camera_orientation_from_sun · camera_orientation_from_sun_candidates · camera_orientation_from_skyline

इसी category के (skyline)

dem_skyline · render_skyline_view


*Provenance: geocam.py — GEOCAM operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.