ImageProcessor

پردازشگر تصویر کلاس عمومی

ImageProcessor یک کلاس کمکی برای پیش پردازش و پس پردازش TensorImage است. می تواند با اجرای زنجیره ای از ImageOperator یک TensorImage به دیگری تبدیل کند.

مثال استفاده:

   ImageProcessor processor = new ImageProcessor.Builder()
       .add(new ResizeOp(224, 224, ResizeMethod.NEAREST_NEIGHBOR)
       .add(new Rot90Op())
       .add(new NormalizeOp(127.5f, 127.5f))
       .build();
   TensorImage anotherTensorImage = processor.process(tensorImage);
 

اخطار: نمونه‌های یک ImageProcessor با updateNumberOfRotations(int) امن نیستند . به روز رسانی تعداد چرخش ها و سپس پردازش تصاویر (با استفاده از SequentialProcessor.process(T) ) باید از دسترسی همزمان محافظت شود. توصیه می شود برای هر رشته، نمونه های ImageProcessor جداگانه ایجاد کنید. اگر چندین رشته به طور همزمان به یک ImageProcessor دسترسی داشته باشند، باید آن را به صورت خارجی همگام سازی کنید.

کلاس های تو در تو

کلاس ImageProcessor.Builder سازنده برای ایجاد یک ImageProcessor، که می تواند بعداً اجرا شود.

روش های عمومی

RectF
inverseTransform (RectF rect، int inputImageHeight، int inputImageWidth)
یک مستطیل را از سیستم مختصات تصویر نتیجه به یکی از تصویر ورودی تبدیل می کند.
نقطه اف
inverseTransform (نقطه PointF، int inputImageHeight، int inputImageWidth)
یک نقطه را از سیستم مختصات تصویر نتیجه به نقطه تصویر ورودی تبدیل می کند.
TensorImage
فرآیند (تصویر TensorImage )
یک شی TensorImage را با TensorOperator آماده پردازش می کند.
خالی
updateNumberOfRotations (int k)
تعداد چرخش ها را برای اولین Rot90Op در این ImageProcessor به روز می کند.
خالی هماهنگ شده
updateNumberOfRotations (int k، int وقوع)
تعداد چرخش های Rot90Op را که بر اساس occurrence در این ImageProcessor مشخص شده است، به روز می کند.

روش های ارثی

روش های عمومی

عمومی RectF inverseTransform (RectF rect، int inputImageHeight، int inputImageWidth)

یک مستطیل را از سیستم مختصات تصویر نتیجه به یکی از تصویر ورودی تبدیل می کند.

مولفه های
راست مستطیل حاصل از سیستم مختصات.
inputImageHeight ارتفاع تصویر ورودی
inputImageWidth عرض تصویر ورودی
برمی گرداند
  • مستطیل با مختصات سیستم مختصات تصویر ورودی.

عمومی PointF inverseTransform (نقطه PointF، int inputImageHeight، int inputImageWidth)

یک نقطه را از سیستم مختصات تصویر نتیجه به نقطه تصویر ورودی تبدیل می کند.

مولفه های
نقطه نقطه از سیستم مختصات نتیجه.
inputImageHeight ارتفاع تصویر ورودی
inputImageWidth عرض تصویر ورودی
برمی گرداند
  • نقطه با مختصات از سیستم مختصات تصویر ورودی.

فرآیند عمومی TensorImage (تصویر TensorImage )

یک شی TensorImage را با TensorOperator آماده پردازش می کند.

مولفه های
تصویر
پرتاب می کند
IllegalArgumentException اگر تصویر توسط هیچ عملیاتی پشتیبانی نمی شود.

به روز رسانی خالی عمومی NumberOfRotations (int k)

تعداد چرخش ها را برای اولین Rot90Op در این ImageProcessor به روز می کند.

هشدار: این روش ایمن نیست . به روز رسانی تعداد چرخش ها و سپس پردازش تصاویر (با استفاده از SequentialProcessor.process(T) ) باید از دسترسی همزمان با همگام سازی اضافی محافظت شود.

مولفه های
ک تعداد چرخش ها
پرتاب می کند
IllegalStateException اگر Rot90Op به این ImageProcessor اضافه نشده باشد

به روز رسانی خالی همگام سازی شده عمومی NumberOfRotations (int k، int وقوع)

تعداد چرخش های Rot90Op را که بر اساس occurrence در این ImageProcessor مشخص شده است، به روز می کند.

هشدار: این روش ایمن نیست . به روز رسانی تعداد چرخش ها و سپس پردازش تصاویر (با استفاده از SequentialProcessor.process(T) ) باید از دسترسی همزمان با همگام سازی اضافی محافظت شود.

مولفه های
ک تعداد چرخش ها
وقوع شاخص Rot90Op عمود بر این ImageProcessor . به عنوان مثال، اگر Rot90Op دوم نیاز به به روز رسانی داشته باشد، occurrence باید روی 1 تنظیم شود.
پرتاب می کند
IndexOutOfBoundsException اگر occurrence منفی باشد یا کمتر از تعداد Rot90Op در این ImageProcessor نباشد
IllegalStateException اگر Rot90Op به این ImageProcessor اضافه نشده باشد