Wygeneruj pojedynczą, losowo zniekształconą ramkę ograniczającą obraz.
Adnotacje dotyczące obwiedni są często dostarczane jako dodatek do etykiet podstawowych w zadaniach rozpoznawania obrazu lub lokalizacji obiektów. Powszechną techniką uczenia takiego systemu jest losowe zniekształcanie obrazu przy jednoczesnym zachowaniu jego zawartości, czyli powiększanie danych . Ta operacja generuje losowo zniekształconą lokalizację obiektu, tj. obwiednię, biorąc pod uwagę `image_size`, `bounding_boxes` i serię ograniczeń.
 Wynikiem tej operacji jest pojedyncza ramka ograniczająca, której można użyć do przycięcia oryginalnego obrazu. Dane wyjściowe są zwracane jako 3 tensory: `begin`, `size` i `bboxes`. Pierwsze 2 tensory można wprowadzić bezpośrednio do tf.slice w celu przycięcia obrazu. Te ostatnie można dostarczyć do tf.image.draw_bounding_boxes w celu wizualizacji wyglądu ramki ograniczającej.
Ramki ograniczające są dostarczane i zwracane jako `[y_min, x_min, y_max, x_max]`. Współrzędne ramki ograniczającej są zmiennoprzecinkowe w zakresie „[0,0, 1,0]” w stosunku do szerokości i wysokości obrazu bazowego.
Na przykład,
# Generate a single distorted bounding box.
     begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
         tf.shape(image),
         bounding_boxes=bounding_boxes)
 
     # Draw the bounding box in an image summary.
     image_with_box = tf.image.draw_bounding_boxes(tf.expand_dims(image, 0),
                                                   bbox_for_draw)
     tf.summary.image('images_with_box', image_with_box)
 
     # Employ the bounding box to distort the image.
     distorted_image = tf.slice(image, begin, size)
 Klasy zagnieżdżone
| klasa | PróbkaDistortedBoundingBox.Opcje | Opcjonalne atrybuty dla SampleDistortedBoundingBox | |
Stałe
| Smyczkowy | OP_NAME | Nazwa tej operacji znana silnikowi rdzenia TensorFlow | 
Metody publiczne
| statyczny SampleDistortedBoundingBox.Options |  areaRange (Lista<Float> areaRange) | 
| statyczny SampleDistortedBoundingBox.Options |  aspektRatioRange (List<Float> aspektRatioRange) | 
| Dane wyjściowe <TFloat32> |  bboxy ()  Trójwymiarowy kształt „[1, 1, 4]” zawierający zniekształconą ramkę ograniczającą. | 
| Wyjście <T> |  zaczynać ()  1-D, zawierający `[wysokość_przesunięcia, szerokość_przesunięcia, 0]`. | 
| statyczny <T rozszerza numer TNumber > SampleDistortedBoundingBox <T> | |
| statyczny SampleDistortedBoundingBox.Options |  maxAttempts (Długie maxAttempts) | 
| statyczny SampleDistortedBoundingBox.Options |  nasiona (długie nasiona) | 
| statyczny SampleDistortedBoundingBox.Options |  nasiona 2 (Długie nasiona 2) | 
| Wyjście <T> |  rozmiar ()  1-D, zawierający `[wysokość_docelowa, szerokość_docelowa, -1]`. | 
| statyczny SampleDistortedBoundingBox.Options |  useImageIfNoBoundingBoxes (wartość logiczna useImageIfNoBoundingBoxes)  | 
Metody dziedziczone
Stałe
publiczny statyczny końcowy ciąg znaków OP_NAME
Nazwa tej operacji znana silnikowi rdzenia TensorFlow
Metody publiczne
publiczny statyczny SampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)
Parametry
| obszarZakres | Przycięty obszar obrazu musi zawierać część dostarczonego obrazu w tym zakresie. | 
|---|
publiczny statyczny SampleDistortedBoundingBox.Options aspektRatioRange (List<Float> aspektRatioRange)
Parametry
| aspektRatioRange | Przycięty obszar obrazu musi mieć współczynnik proporcji = szerokość / wysokość mieszczący się w tym zakresie. | 
|---|
publiczne wyjście < TFloat32 > bboxes ()
 Trójwymiarowy kształt „[1, 1, 4]” zawierający zniekształconą ramkę ograniczającą. Podaj jako dane wejściowe do tf.image.draw_bounding_boxes . 
publiczne wyjście <T> rozpocząć ()
 1-D, zawierający `[wysokość_przesunięcia, szerokość_przesunięcia, 0]`. Podaj jako dane wejściowe do tf.slice . 
public static SampleDistortedBoundingBox <T> create ( Zakres zakresu, Operand <T> imageSize, Operand < TFloat32 >boundingBoxes, Operand < TFloat32 > minObjectCovered, Opcje... opcje)
Metoda fabryczna służąca do tworzenia klasy opakowującej nową operację SampleDistortedBoundingBox.
Parametry
| zakres | aktualny zakres | 
|---|---|
| Rozmiar obrazu | 1-D, zawierający `[wysokość, szerokość, kanały]`. | 
| ograniczające | Trójwymiarowy kształt „[partia, N, 4]” opisujący N ramek ograniczających skojarzonych z obrazem. | 
| minObjectCovered | Przycięty obszar obrazu musi zawierać co najmniej tę część dowolnej dostarczonej ramki ograniczającej. Wartość tego parametru powinna być nieujemna. W przypadku wartości 0 przycięty obszar nie musi zachodzić na żadną z dostarczonych ramek ograniczających. | 
| opcje | przenosi opcjonalne wartości atrybutów | 
Powroty
- nowa instancja SampleDistortedBoundingBox
public static SampleDistortedBoundingBox.Options maxAttempts (Długie maxAttempts)
Parametry
| maxPróby | Liczba prób wygenerowania przyciętego obszaru obrazu z określonymi ograniczeniami. Po niepowodzeniach `max_attempts` zwróć cały obraz. | 
|---|
public static SampleDistortedBoundingBox.Options ziarno (długie ziarno)
Parametry
| nasienie | Jeśli „ziarno” lub „ziarno2” jest ustawione na wartość różną od zera, generator liczb losowych jest inicjowany przez dane „ziarno”. W przeciwnym razie jest on zaszczepiany losowo. | 
|---|
public static SampleDistortedBoundingBox.Options nasiono 2 (długie ziarno 2)
Parametry
| ziarno2 | Drugie ziarno, aby uniknąć kolizji nasion. | 
|---|
publiczny Rozmiar wyjścia <T> ( )
 1-D, zawierający `[wysokość_docelowa, szerokość_docelowa, -1]`. Podaj jako dane wejściowe do tf.slice . 
publiczny statyczny SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (boolean useImageIfNoBoundingBoxes)
Parametry
| użyjImageIfNoBoundingBoxes | Kontroluje zachowanie, jeśli nie podano ramek ograniczających. Jeśli to prawda, załóż niejawną ramkę ograniczającą obejmującą całe wejście. Jeśli fałszywe, zgłoś błąd. | 
|---|