Python တွင် ဘောင်ခတ်ထားသောဘောက်စ်များ၏ အဓိကပြဿနာမှာ ၎င်းတို့သည် အလွန်တိကျမှုမရှိခြင်းပင်ဖြစ်သည်။
def bounding_box(x, y, width, height): return (x - width/2, y - height/2, x + width/2, y + height/2)
ဒါက function အဓိပ္ပါယ်ပါ။ လုပ်ဆောင်ချက်သည် အငြင်းအခုံလေးခု – x၊ y၊ အနံနှင့် အမြင့် – နှင့် တန်ဖိုးလေးခု၏ tuple – အပေါ်ဘယ်ဘက်ထောင့်၏ သြဒီနိတ်များနှင့် ဘောင်ဘောင်တစ်ခု၏အောက်ခြေညာဘက်ထောင့်ကို ပြန်ပေးသည်။
ခညျြနှောငျ Box ကို
ဘောင်ခတ်ထားသောသေတ္တာသည် ၎င်း၏နယ်နိမိတ်အတွင်းရှိ အမှတ်များအားလုံးကို ဖုံးအုပ်ထားသည့် နှစ်ဖက်မြင်အရာဝတ္ထုတစ်ခုဖြစ်သည်။ Python တွင် bbox လုပ်ဆောင်ချက်ကို အသုံးပြု၍ ဘောင်ကွက်တစ်ခု ဖန်တီးနိုင်သည်။
OpenCV
OpenCV သည် ကွန်ပျူတာအမြင်နှင့် ရုပ်ပုံလုပ်ဆောင်ခြင်းအတွက် စာကြည့်တိုက်တစ်ခုဖြစ်သည်။ ရုပ်ပုံများနှင့် ဗီဒီယိုများကို လုပ်ဆောင်ရန်၊ အရာဝတ္တုများကို ရှာဖွေရန်၊ ရွေ့လျားနေသော အရာများကို ခြေရာခံရန်နှင့် မျက်နှာမှတ်မိခြင်း လုပ်ဆောင်ရန် အသုံးပြုနိုင်သည်။ OpenCV သည် GNU အထွေထွေအများပြည်သူလိုင်စင်အောက်တွင် ထုတ်ပြန်ထားသော အခမဲ့ဖြစ်ပြီး အရင်းအမြစ်ဆော့ဖ်ဝဲဖြစ်သည်။
ဘောင်ကို ဖြည်ပါ။
Python တွင်၊ သင်သည် ပေးထားသည့်အရာဝတ္ထုတစ်ခု၏ ဘောင်ကွက်ကိုရရန် built-in function bounding box ကိုသုံးနိုင်သည်။ ဤလုပ်ဆောင်ချက်သည် အငြင်းအခုံနှစ်ခုကို ယူသည်- ဘောင်ခတ်ရမည့်အရာနှင့် အရွယ်အစား ကန့်သတ်ချက်တစ်ခု။ လုပ်ဆောင်ချက်သည် (x၊ y၊ အနံ၊ အမြင့်) ပါဝင်သော tuple တစ်ခုကို ပြန်ပေးသည်။
ဤသည်မှာ ပေးထားသော အရာဝတ္ထုတစ်ခု၏ ဘောင်ကွက်အကွက်ကို ရယူရန် ဘောင်ဘောင်အကွက်လုပ်ဆောင်ချက်ကို အသုံးပြုသည့် ဥပမာတစ်ခုဖြစ်သည်။
>>> obj = Object() >>> obj.size = (10၊ 10၊ 100၊ 100) >>> bbox = obj.bounding_box() >>> print(bbox) (10၊ 10၊ 100၊ 100)