TensorImage

herkese açık sınıf TensorImage

TensorImage, Resim nesnesi için sarmalayıcı sınıfıdır. TFLite.support kitaplığında resim işleme yardımcı araçları kullanılırken yaygın olarak varyant türlerindeki resim nesneleri başlangıçta TensorImage'a dönüştürülür.

Şu anda, yalnızca RGB resimler desteklenmektedir ve A kanalı her zaman yok sayılır.

Veri depolama ayrıntıları: Bir TensorImage nesnesinin 2 olası doğru kaynağı olabilir: Bitmap veya TensorBuffer. TensorImage, durumu korur ve yalnızca gerektiğinde birini diğerine dönüştürür. TensorImage işlevinin tipik bir kullanım alanı, önce bir Bitmap görüntüsü yüklemek, ardından ImageProcessor ile işlemek ve son olarak TensorBuffer öğesinin temel ByteBuffer öğesini alıp TFLite yorumlayıcısına yüklemektir.

ÖNEMLİ: En iyi performans için, TensorImage mümkün olan her durumda verileri kopyalamaktan kaçınır. Dolayısıyla, kendi verilerinin sahibi değildir. Arayanlar, load(Bitmap) veya load(TensorBuffer, ColorSpaceType)'a iletilen veri nesnelerini değiştirmemelidir.

ÖNEMLİ: Tüm yöntemlerin iş parçacığı güvenli olduğu kanıtlanmamıştır.

İnşaatçılar

TensorImage()
Bir TensorImage nesnesini başlatır.
TensorImage(DataType dataType)
Belirtilen veri türüyle bir TensorImage nesnesini başlatır.

Herkese Açık Yöntemler

statik TensorImage
createFrom(TensorImage src, DataType dataType)
Belirli bir TensorImage öğesinin, istenen veri türüyle derin kopyasını oluşturur.
statik TensorImage
fromBitmap(Bitmap bit eşlemi)
DataType.UINT8 öğesinin TensorImage nesnesini Bitmap ile başlatır .
Bit eşlem
getBitmap()
Bu TensorImage öğesinin Bitmap gösterimini döndürür.
ByteBuffer
getBuffer()
Bu TensorImage öğesinin, beklenen veri türüyle ByteBuffer temsilini döndürür.
ColorSpaceType
getColorSpaceType()
Bu TensorImage öğesinin renk alanı türünü alır.
DataType
getDataType()
Bu TensorImage öğesinin veri türünü alır.
int
getHeight()
Resim yüksekliğini alır.
Resim
getMediaImage()
Bu TensorImage öğesinin Image temsilini döndürür.
TensorBuffer
getTensorBuffer()
Bu TensorImage öğesinin, beklenen veri türüyle TensorBuffer temsilini döndürür.
int
getWidth()
Resim genişliğini alır.
void
load(TensorBuffer arabelleği, ColorSpaceType colorSpaceType)
Belirli bir ColorSpaceType ile piksel değerleri içeren bir TensorBuffer yükler.
void
load(Bitmap bit eşlemi)
Bu TensorImage içine bir Bitmap resim nesnesi yükler.
void
load(int[] piksel, int[] şekli)
İçindeki pikselleri temsil ederek bu TensorImage öğesine RGB pikselleri olarak bir tam dizi yükler.
void
load(kayan[] piksel, tam[] şekli)
İçindeki pikselleri temsil ederek bu TensorImage içine RGB pikselleri olarak bir kayan dizi yükler.
void
load(ByteBuffer arabelleği, ImageProperties imageProperties)
Belirli bir ImageProperties ile piksel değerleri içeren bir ByteBuffer yükler.
void
load(TensorBuffer arabelleği, ImageProperties imageProperties)
Belirli bir ImageProperties ile piksel değerleri içeren bir TensorBuffer yükler.
void
load(Resim resmi)
Bu TensorImage içine bir Image nesnesi yükler.

Devralınan Yöntemler

İnşaatçılar

herkese açık TensorImage ()

Bir TensorImage nesnesini başlatır.

Not: Bu TensorImage türünün veri türü: DataType.UINT8. Diğer veri türleri tercih ediliyorsa TensorImage(DataType) kullanın.

herkese açık TensorImage (DataType dataType)

Belirtilen veri türüyle bir TensorImage nesnesini başlatır.

Bu TensorImage öğesinden TensorBuffer veya ByteBuffer alırken (ör. getTensorBuffer() ve getBuffer() kullanımı), veri değerleri belirtilen veri türüne dönüştürülür.

Not: TensorImage şekli sabit değildir. Bu değer, bu TensorImage öğesine yüklenen resmin şekline ayarlanabilir.

Parametreler
dataType sonuçta elde edilen TensorBuffer öğesinin beklenen veri türü. Tür, TensorImage öğesinin kullanım ömrü boyunca her zaman sabittir. Veri türünü dönüştürmek için aynı anda hem kopya oluşturmak hem de veri türünü dönüştürmek amacıyla createFrom(TensorImage, DataType) işlevini kullanın.
Dekoratif yastıklar
IllegalArgumentException dataType, DataType.UINT8 veya DataType.FLOAT32 değilse

Herkese Açık Yöntemler

herkese açık statik TensorImage createFrom (TensorImage src, DataType dataType)

Belirli bir TensorImage öğesinin, istenen veri türüyle derin kopyasını oluşturur.

Parametreler
src kopyalanacak TensorImage
dataType yeni oluşturulan TensorImage için beklenen veri türü
İlerlemeler
  • Verileri src kaynağından kopyalanan ve veri türü dataType olan bir TensorImage

herkese açık statik TensorImage fromBitmap (Bitmap bit eşlemi)

herkese açık Bit Eşlem getBitmap ()

Bu TensorImage öğesinin Bitmap gösterimini döndürür.

Depolanan veriler uint8 değilse sayısal yayınlama ve sınırlama uygulanır.

Bir ALPHA_8 Bit Eşlemi'nden pikselleri almanın güvenilir yolunun copyPixelsToBuffer kullanmaktır. "setPixels()" ve "getPixels" gibi bit eşlem yöntemleri çalışmaz.

Önemli: Bu yalnızca bir referanstır. DEĞİŞTİRMEYİN. Performansla ilgili endişe nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

İlerlemeler
  • bu TensorBuffer öğesinin ColorSpaceType öğesine bağlı olarak ARGB_8888 yapılandırmasında ("A" kanalı her zaman opak) veya ALPHA_8 içinde bir Bitmap referansı.
Dekoratif yastıklar
IllegalStateException TensorImage verileri hiç yüklemezse

herkese açık ByteBuffer getBuffer ()

Bu TensorImage öğesinin, beklenen veri türüyle ByteBuffer temsilini döndürür.

Depolanan veriler, TensorImage veri türünden farklıysa sayısal yayınlama ve sınırlama uygulanır.

Önemli: Bu yalnızca bir referanstır. DEĞİŞTİRMEYİN. Performansla ilgili endişe nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

Bu aslında getTensorBuffer().getBuffer() için kullanılan bir kestirme biçimdir.

İlerlemeler
  • resim verilerini barındıran bir ByteBuffer referansı
Dekoratif yastıklar
IllegalStateException TensorImage verileri hiç yüklemezse

herkese açık ColorSpaceType getColorSpaceType ()

Bu TensorImage öğesinin renk alanı türünü alır.

Dekoratif yastıklar
IllegalStateException TensorImage verileri hiç yüklemezse

herkese açık DataType getDataType ()

Bu TensorImage öğesinin veri türünü alır.

İlerlemeler

herkese açık int getHeight ()

Resim yüksekliğini alır.

Dekoratif yastıklar
IllegalStateException TensorImage verileri hiç yüklemezse
IllegalArgumentException temel veriler bozuksa

herkese açık Resim getMediaImage ()

Bu TensorImage öğesinin Image temsilini döndürür.

Bu yöntem yalnızca TensorImage bir Image tarafından desteklendiğinde çalışır. Bu da ilk olarak load(Image) ile bir Image yüklemeniz gerektiği anlamına gelir.

Önemli: Bu yalnızca bir referanstır. DEĞİŞTİRMEYİN. Performansla ilgili endişe nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

İlerlemeler
  • bu TensorBuffer öğesinin ColorSpaceType öğesine bağlı olarak ARGB_8888 yapılandırmasında ("A" kanalı her zaman opak) veya ALPHA_8 içinde bir Bitmap referansı.
Dekoratif yastıklar
IllegalStateException TensorImage verileri hiç yüklemezse

herkese açık TensorBuffer getTensorBuffer ()

Bu TensorImage öğesinin, beklenen veri türüyle TensorBuffer temsilini döndürür.

Depolanan veriler, TensorImage veri türünden farklıysa sayısal yayınlama ve sınırlama uygulanır.

Önemli: Bu yalnızca bir referanstır. DEĞİŞTİRMEYİN. Performansla ilgili endişe nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

İlerlemeler
Dekoratif yastıklar
IllegalStateException TensorImage verileri hiç yüklemezse

herkese açık int getWidth ()

Resim genişliğini alır.

Dekoratif yastıklar
IllegalStateException TensorImage verileri hiç yüklemezse
IllegalArgumentException temel veriler bozuksa

herkese açık void load (TensorBuffer arabelleği, ColorSpaceType colorSpaceType)

Belirli bir ColorSpaceType ile piksel değerleri içeren bir TensorBuffer yükler.

Yalnızca ColorSpaceType.RGB ve ColorSpaceType.GRAYSCALE desteklenir. Diğer renk alanı türleri için load(TensorBuffer, ImageProperties) kullanın.

Not: buffer veri türü bu TensorImage veri türü ile eşleşmiyorsa getTensorBuffer() ve getBuffer() çağrılırken sayısal yayınlama ve sınırlama uygulanır.

Parametreler
tampon TensorBuffer yüklenecek. Şekli RGB görüntüler için (h, w, 3) veya (1, h, w, 3) ve GRAYSCALE resimler için (h, w) veya (1, h, w) olmalıdır
colorSpaceType
Dekoratif yastıklar
IllegalArgumentException arabelleğin şekli renk alanı türüyle eşleşmiyorsa veya renk alanı türü desteklenmiyorsa

herkese açık void load (Bitmap bit eşlem)

Bu TensorImage içine bir Bitmap resim nesnesi yükler.

Not: TensorImage öğesinin DataType.UINT8 dışında bir veri türü varsa getTensorBuffer() ve getBuffer() çağrılırken sayısal yayınlama ve sınırlama uygulanır. Burada Bitmap, TensorBuffer öğesine dönüştürülür.

Önemli: Bit eşlem yüklerken, artık arayan tarafındaki bit eşlemi DEĞİŞTİRMEYİN. TensorImage nesnesi bit eşlemi temel alır. Büyük olasılıkla bit eşlemi de değiştirecektir. Bu yöntemde, söz konusu bit eşlem için yalnızca referansı tutarak sıfır kopya yaklaşımı uygularız. Gerekirse bir kopya oluşturmak için bitmap.copy(bitmap.getConfig(), true) kullanın.

Not: En iyi performansı elde etmek için lütfen resimleri aynı şekilde yükleyin. Böylece bellekte yeniden tahsis olmadığından emin olabilirsiniz.

Parametreler
bit eşlem
Dekoratif yastıklar
IllegalArgumentException bitmap, ARGB_8888 içinde değilse

herkese açık void load (int[] piksel, int[] şekil)

İçindeki pikselleri temsil ederek bu TensorImage öğesine RGB pikselleri olarak bir tam dizi yükler.

Not: getTensorBuffer() ve getBuffer() çağrılırken değerleri bu TensorImage öğesinin veri türüne dönüştürmek için sayısal yayınlama ve sınırlama uygulanır.

Parametreler
piksel resmi temsil eden RGB pikselleri
shape resmin şekli (h, w, 3) veya (1, h, w, 3) biçiminde olmalıdır
Dekoratif yastıklar
IllegalArgumentException şekil ne (h, w, 3) ne de (1, h, w, 3) değilse

herkese açık void load (float[] piksel, int[] şekil)

İçindeki pikselleri temsil ederek bu TensorImage içine RGB pikselleri olarak bir kayan dizi yükler.

Not: TensorImage öğesinin DataType.FLOAT32 dışında bir veri türü varsa getTensorBuffer() ve getBuffer() çağrılırken sayısal yayınlama ve sınırlama uygulanır.

Parametreler
piksel resmi temsil eden RGB pikselleri
shape resmin şekli (h, w, 3) veya (1, h, w, 3) biçiminde olmalıdır
Dekoratif yastıklar
IllegalArgumentException şekil ne (h, w, 3) ne de (1, h, w, 3) değilse

herkese açık void load (ByteBuffer arabelleği, ImageProperties imageProperties)

Belirli bir ImageProperties ile piksel değerleri içeren bir ByteBuffer yükler.

Not: buffer veri türü bu TensorImage veri türü ile eşleşmiyorsa getTensorBuffer() ve getBuffer() çağrılırken sayısal yayınlama ve sınırlama uygulanır.

Parametreler
tampon
imageProperties
Dekoratif yastıklar
IllegalArgumentException ImageProperties özelliğinde arabellek boyutu, resim yüksekliği, genişliği ve renk alanı türüyle belirtilen resim boyutundan küçükse

herkese açık void load (TensorBuffer arabelleği, ImageProperties imageProperties)

Belirli bir ImageProperties ile piksel değerleri içeren bir TensorBuffer yükler.

TensorBuffer şekli, resim yüksekliği ve genişliğini belirlemek için kullanılmaz. Resim özelliklerini ImageProperties tarihinden itibaren ayarlayabilirsiniz.

Not: buffer veri türü bu TensorImage veri türü ile eşleşmiyorsa getTensorBuffer() ve getBuffer() çağrılırken sayısal yayınlama ve sınırlama uygulanır.

Parametreler
tampon
imageProperties
Dekoratif yastıklar
IllegalArgumentException ImageProperties özelliğinde arabellek boyutu, resim yüksekliği, genişliği ve renk alanı türüyle belirtilen resim boyutundan küçükse

herkese açık void load (Resim resmi)

Bu TensorImage içine bir Image nesnesi yükler.

Bu yöntemin ana kullanımı, https://www.tensorflow.org/lite/inference_with_metadata/task_library/overview sayfasına model girişi olarak bir Image nesnesi yüklemektir. Image tarafından desteklenen TensorImage, ImageProcessor tarafından desteklenmez.

* image öğesinin ImageFormat değeri YUV_420_888 değilse @ IllegalArgumentException öğesini atar

Parametreler
resim