TensorImage

genel sınıf TensorImage

TensorImage, Image nesnesinin sarmalayıcı sınıfıdır. TFLite.support kütüphanesindeki görüntü işleme araçlarını kullanırken, ilk başta farklı türlerdeki görüntü nesnelerini TensorImage'a dönüştürmek yaygın bir uygulamadır.

Şu anda yalnızca RGB görüntüleri desteklenmektedir ve A kanalı her zaman göz ardı edilmektedir.

Veri depolamanın ayrıntıları: Bir TensorImage nesnesinin 2 potansiyel doğruluk kaynağı olabilir: bir Bitmap veya bir TensorBuffer . TensorImage durumu korur ve yalnızca gerektiğinde birini diğerine dönüştürür. TensorImage tipik bir kullanım durumu, önce bir Bitmap görüntüsünü yüklemek, ardından onu ImageProcessor kullanarak işlemek ve son olarak TensorBuffer temel ByteBuffer almak ve onu TFLite yorumlayıcısına beslemektir.

ÖNEMLİ: TensorImage , en iyi performansı elde etmek için mümkün olan her durumda veri kopyalamaktan kaçınır. Bu nedenle kendi verilerine sahip değildir. Arayanlar load(Bitmap) veya load(TensorBuffer, ColorSpaceType) öğelerine iletilen veri nesnelerini değiştirmemelidir.

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

Kamu İnşaatçıları

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

Genel Yöntemler

statik TensorImage
createFrom ( TensorImage src, DataType dataType)
Belirli bir TensorImage istenen veri türüyle derin bir kopyasını oluşturur.
statik TensorImage
fromBitmap (Bitmap bitmap)
Bitmap ile DataType.UINT8 TensorImage nesnesini başlatır.
Bit eşlem
getBitmap ()
Bu TensorImage Bitmap temsilini döndürür.
Bayt Tamponu
getBuffer ()
Beklenen veri türüyle bu TensorImage ByteBuffer temsilini döndürür.
ColorSpaceType
getColorSpaceType ()
Bu TensorImage renk alanı türünü alır.
Veri tipi
getDataType ()
Bu TensorImage veri türünü alır.
int
getHeight ()
Görüntü yüksekliğini alır.
Resim
getMediaImage ()
Bu TensorImage Image temsilini döndürür.
Tensör Tamponu
getTensorBuffer ()
Beklenen veri türüyle bu TensorImage TensorBuffer temsilini döndürür.
int
getWidth ()
Görüntü genişliğini alır.
geçersiz
yük ( TensorBuffer tamponu, ColorSpaceType colorSpaceType)
Belirli ColorSpaceType ile piksel değerleri içeren bir TensorBuffer yükler.
geçersiz
yük (Bitmap bitmap)
Bu TensorImage bir Bitmap görüntü nesnesi yükler.
geçersiz
yükle (int[] piksel, int[] şekli)
Bu TensorImage içine, içindeki pikselleri temsil eden RGB pikselleri olarak bir int dizisini yükler.
geçersiz
yükleme (float[] piksel, int[] şekli)
Bu TensorImage içine, içindeki pikselleri temsil eden RGB pikselleri olarak bir kayan dizi yükler.
geçersiz
yük ( ByteBuffer tamponu, ImageProperties imageProperties)
Belirli ImageProperties ile piksel değerleri içeren bir ByteBuffer yükler.
geçersiz
yük ( TensorBuffer tamponu, ImageProperties imageProperties)
Belirli ImageProperties ile piksel değerleri içeren bir TensorBuffer yükler.
geçersiz
yük (Resim resmi)
Bu TensorImage bir Image nesnesi yükler.

Kalıtsal Yöntemler

Kamu İnşaatçıları

herkese açık TensorImage ()

Bir TensorImage nesnesini başlatır.

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

genel TensorImage ( DataType dataType)

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

Bu TensorImage bir TensorBuffer veya ByteBuffer alırken, örneğin getTensorBuffer() ve getBuffer() kullanarak, veri değerleri belirtilen veri türüne dönüştürülecektir.

Not: TensorImage şekli sabit değildir. Bu TensorImage yüklenen görüntünün şekline göre ayarlanabilir.

Parametreler
veri tipi elde edilen TensorBuffer beklenen veri türü. Tür, TensorImage ömrü boyunca her zaman sabittir. Veri türünü dönüştürmek için, aynı anda bir kopya oluşturmak ve veri türünü dönüştürmek üzere createFrom(TensorImage, DataType) öğesini kullanın.

Genel Yöntemler

genel statik TensorImage createFrom ( TensorImage src, DataType dataType)

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

Parametreler
kaynak kopyalanacak TensorImage
veri tipi yeni oluşturulan TensorImage beklenen veri türü
İadeler
  • verileri src kopyalanan ve veri türü dataType olan bir TensorImage

genel Bitmap getBitmap ()

Bu TensorImage Bitmap temsilini döndürür.

Saklanan veriler uint8 değilse sayısal döküm ve sıkıştırma uygulanacaktır.

ALPHA_8 Bitmap'ten piksel almanın güvenilir yolunun copyPixelsToBuffer kullanmak olduğunu unutmayın. 'setPixels()' ve 'getPixels' gibi bitmap yöntemleri çalışmıyor.

Önemli: Bu yalnızca bir referanstır. DEĞİŞİKLİK YAPMAYIN. Performans endişesi nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

İadeler
Atar
Yasadışı Durum İstisnası TensorImage hiçbir zaman veri yüklemiyorsa

genel ByteBuffer getBuffer ()

Beklenen veri türüyle bu TensorImage ByteBuffer temsilini döndürür.

Saklanan veriler TensorImage veri türünden farklıysa sayısal döküm ve sıkıştırma uygulanacaktır.

Önemli: Bu yalnızca bir referanstır. DEĞİŞİKLİK YAPMAYIN. Performans endişesi nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

Aslında getTensorBuffer().getBuffer() için kısa bir yoldur.

İadeler
  • görüntü verilerini tutan bir ByteBuffer referans
Atar
Yasadışı Durum İstisnası TensorImage hiçbir zaman veri yüklemiyorsa

genel ColorSpaceType getColorSpaceType ()

Bu TensorImage renk alanı türünü alır.

Atar
Yasadışı Durum İstisnası TensorImage hiçbir zaman veri yüklemiyorsa

genel Veri Türü getDataType ()

Bu TensorImage veri türünü alır.

İadeler

genel int getHeight ()

Görüntü yüksekliğini alır.

Atar
Yasadışı Durum İstisnası TensorImage hiçbir zaman veri yüklemiyorsa
YasadışıTartışmaİstisna temel veriler bozuksa

genel Resim getMediaImage ()

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

Bu yöntem yalnızca TensorImage bir Image tarafından desteklendiğinde çalışır; bu, önce bir Image aracılığıyla load(Image) yüklemeniz gerektiği anlamına gelir.

Önemli: Bu yalnızca bir referanstır. DEĞİŞİKLİK YAPMAYIN. Performans endişesi nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

İadeler
Atar
Yasadışı Durum İstisnası TensorImage hiçbir zaman veri yüklemiyorsa

genel TensorBuffer getTensorBuffer ()

Beklenen veri türüyle bu TensorImage TensorBuffer temsilini döndürür.

Saklanan veriler TensorImage veri türünden farklıysa sayısal döküm ve sıkıştırma uygulanacaktır.

Önemli: Bu yalnızca bir referanstır. DEĞİŞİKLİK YAPMAYIN. Performans endişesi nedeniyle burada bir kopya oluşturmuyoruz, ancak değişiklik gerekiyorsa lütfen bir kopya oluşturun.

İadeler
Atar
Yasadışı Durum İstisnası TensorImage hiçbir zaman veri yüklemiyorsa

public int getWidth ()

Görüntü genişliğini alır.

Atar
Yasadışı Durum İstisnası TensorImage hiçbir zaman veri yüklemiyorsa
YasadışıTartışmaİstisna temel veriler bozuksa

genel geçersiz yük ( TensorBuffer arabelleği, ColorSpaceType colorSpaceType)

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

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

Not: Eğer buffer veri türü bu TensorImage ile eşleşmiyorsa, getTensorBuffer() ve getBuffer() çağrılırken sayısal dönüşüm ve sıkıştırma uygulanacaktır.

Parametreler
tampon yüklenecek TensorBuffer . Şekli, RGB görüntüler için (h, w, 3) veya (1, h, w, 3) ve GRİ ÖLÇEKLİ görüntüler için (h, w) veya (1, h, w) olmalıdır.
colorSpaceType
Atar
YasadışıTartışmaİstisna arabelleğin şekli renk alanı türüyle eşleşmiyorsa veya renk alanı türü desteklenmiyorsa

genel geçersiz yük (Bitmap bitmap)

Bu TensorImage bir Bitmap görüntü nesnesi yükler.

Not: TensorImage DataType.UINT8 dışında bir veri türü varsa, getTensorBuffer() ve getBuffer() çağrılırken sayısal dönüşüm ve sıkıştırma uygulanacaktır; burada Bitmap , TensorBuffer dönüştürülecektir.

Önemli: bir bitmap yüklerken, artık arayan taraftan bitmap'i DEĞİŞTİRMEYİN. TensorImage nesnesi bitmap'e bağlı olacaktır. Muhtemelen bitmap'i de değiştirecektir. Bu yöntemde, yalnızca referansını tutarak o bitmap için sıfır kopya yaklaşımını gerçekleştiririz. Gerekirse bir kopya oluşturmak için bitmap.copy(bitmap.getConfig(), true) kullanın.

Not: En iyi performansı elde etmek için lütfen görüntüleri aynı şekilde yükleyin ve belleğin yeniden tahsis edilmesini önleyin.

Parametreler
bit eşlem
Atar
YasadışıTartışmaİstisna bitmap ARGB_8888'de değilse

genel geçersiz yük (int[] piksel, int[] şekli)

Bu TensorImage içine, içindeki pikselleri temsil eden RGB pikselleri olarak bir int dizisini yükler.

Not: getTensorBuffer() ve getBuffer() çağrılırken değerleri bu TensorImage veri türüne dönüştürmek için sayısal dönüşüm ve sıkıştırma uygulanacaktır.

Parametreler
piksel görüntüyü temsil eden RGB pikselleri
şekil görüntünün şekli ya (h, w, 3) biçiminde ya da (1, h, w, 3) biçiminde olmalıdır
Atar
YasadışıTartışmaİstisna şekil ne (h, w, 3) ne de (1, h, w, 3) değilse

genel geçersiz yük (float[] piksel, int[] şekli)

Bu TensorImage içine, içindeki pikselleri temsil eden RGB pikselleri olarak bir kayan dizi yükler.

Not: TensorImage DataType.FLOAT32 dışında bir veri türü varsa, getTensorBuffer() ve getBuffer() çağrılırken sayısal dönüşüm ve sıkıştırma uygulanacaktır.

Parametreler
piksel görüntüyü temsil eden RGB pikselleri
şekil görüntünün şekli ya (h, w, 3) biçiminde ya da (1, h, w, 3) biçiminde olmalıdır
Atar
YasadışıTartışmaİstisna şekil ne (h, w, 3) ne de (1, h, w, 3) değilse

genel geçersiz yük ( ByteBuffer tamponu, ImageProperties imageProperties)

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

Not: Eğer buffer veri türü bu TensorImage ile eşleşmiyorsa, getTensorBuffer() ve getBuffer() çağrılırken sayısal dönüşüm ve sıkıştırma uygulanacaktır.

Parametreler
tampon
görüntüÖzellikleri
Atar
YasadışıTartışmaİstisna arabellek boyutu, ImageProperties görüntü yüksekliği, genişliği ve renk alanı türüyle belirtilen görüntü boyutundan küçükse

genel geçersiz yük ( TensorBuffer tamponu, ImageProperties imageProperties)

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

TensorBuffer şekli görüntünün yüksekliğini ve genişliğini belirlemek için kullanılmayacaktır. Görüntü özelliklerini ImageProperties aracılığıyla ayarlayın.

Not: Eğer buffer veri türü bu TensorImage ile eşleşmiyorsa, getTensorBuffer() ve getBuffer() çağrılırken sayısal dönüşüm ve sıkıştırma uygulanacaktır.

Parametreler
tampon
görüntüÖzellikleri
Atar
YasadışıTartışmaİstisna arabellek boyutu, ImageProperties görüntü yüksekliği, genişliği ve renk alanı türüyle belirtilen görüntü boyutundan küçükse

genel geçersiz yük (Resim resmi)

Bu TensorImage bir Image nesnesi yükler.

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

* Eğer image ImageFormat YUV_420_888 değilse @illegalArgumentException'ı atar

Parametreler
görüntü