کلاس کمکی برای تبدیل مقادیری که جعبه های محدود را به مستطیل نشان می دهد.
کلاس یک تابع استاتیک برای ایجاد جعبه های محدود کننده به عنوان RectF
از انواع مختلف پیکربندی ها ارائه می دهد.
به طور کلی، یک جعبه مرزی را می توان با 4 مقدار شناور نشان داد، اما مقادیر را می توان به روش های مختلفی تفسیر کرد. ما اکنون از 3 پیکربندی BoundingBoxUtil.Type
پشتیبانی می کنیم و ترتیب عناصر در هر نوع نیز قابل تنظیم است.
کلاس های تو در تو
enum | BoundingBoxUtil.CoordinateType | نشان می دهد که آیا مختصات پیکسل واقعی یا نسبت نسبی هستند. | |
enum | BoundingBoxUtil.Type | نشان می دهد که چگونه یک کادر محدود نمایش داده می شود. |
روش های عمومی
لیست ثابت <RectF> | تبدیل ( TensorBuffer tensor، int[] valueIndex، int boundingBoxAxis، نوع BoundingBoxUtil.Type ، BoundingBoxUtil.CoordinateType مختصات نوع، ارتفاع بینالمللی، عرض بینالمللی) لیستی از جعبه های محدود کننده را از یک TensorBuffer ایجاد می کند که نشان دهنده جعبه های محدود کننده است. |
روش های ارثی
روش های عمومی
تبدیل فهرست استاتیک عمومی <RectF> ( تانسور TensorBuffer ، int[] valueIndex، int boundingBoxAxis، نوع BoundingBoxUtil.Type ، BoundingBoxUtil.CoordinateType مختصاتType، ارتفاع بینالمللی، عرض بینالمللی)
لیستی از جعبه های محدود کننده را از یک TensorBuffer
ایجاد می کند که نشان دهنده جعبه های محدود کننده است.
مولفه های
تانسور | داده هایی را که نمایانگر برخی از جعبه ها هستند نگهداری می کند. |
---|---|
ارزش ایندکس | نشان دهنده ترتیب عناصر تعریف شده در هر نوع جعبه مرزی است. یک آرایه شاخص خالی نشان دهنده ترتیب پیش فرض هر نوع جعبه محدود است. به عنوان مثال، برای نشان دادن ترتیب پیشفرض BOUNDARIES، {چپ، بالا، راست، پایین}، شاخص باید {0، 1، 2، 3} باشد. برای نشان دادن ترتیب {چپ، راست، بالا، پایین}، ترتیب باید {0، 2، 1، 3} باشد. آرایه شاخص را می توان برای همه انواع جعبه محدود اعمال کرد تا ترتیب عناصر زیرین متناظر آنها را تنظیم کند. |
boundingBoxAxis | شاخص بعد را مشخص می کند که جعبه مرزی را نشان می دهد. اندازه آن بعد باید 4 باشد. ایندکس در اینجا از 0 شروع می شود. به عنوان مثال، اگر تانسور شکل 4x10 داشته باشد، احتمالاً محور جعبه های محدود کننده 0 است. محور منفی نیز پشتیبانی می شود: -1 آخرین محور را نشان می دهد. و -2 دومی را می دهد، .etc. برای شکل 10x4، محور احتمالاً 1 (یا -1، به طور معادل) است. |
نوع | نحوه تبدیل مقادیر به جعبه را تعریف می کند. به BoundingBoxUtil.Type مراجعه کنید |
مختصات نوع | نحوه تفسیر مقادیر به مختصات را مشخص می کند. به BoundingBoxUtil.CoordinateType مراجعه کنید |
ارتفاع | ارتفاع تصویری که کادرها به آن تعلق دارند. فقط وقتی که coordinateType BoundingBoxUtil.CoordinateType.RATIO باشد اثرات دارد |
عرض | عرض تصویری که کادرها به آن تعلق دارند. فقط وقتی که coordinateType BoundingBoxUtil.CoordinateType.RATIO باشد اثرات دارد |
برمی گرداند
- فهرستی از جعبه های مرزی که
tensor
نشان می دهد. همه ابعاد به جزboundingBoxAxis
با حفظ نظم جمع می شوند. به عنوان مثال، با توجه بهtensor
با شکل {1، 4، 10، 2} وboundingBoxAxis = 1
، نتیجه لیستی از 20 کادر محدود کننده خواهد بود.
پرتاب می کند
IllegalArgumentException | اگر اندازه ابعاد جعبه مرزی (تنظیم شده توسط boundingBoxAxis ) 4 نباشد. |
---|---|
IllegalArgumentException | اگر boundingBoxAxis در (-(D+1), D) نباشد که D تعداد ابعاد tensor است. |
IllegalArgumentException | اگر tensor دارای نوع داده ای غیر از DataType.FLOAT32 باشد.FLOAT32 . |