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.
İlgili Konular
İnşaatçılar
|
TensorImage()
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)
|
| 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
srckaynağından kopyalanan ve veri türüdataTypeolan birTensorImage
herkese açık statik TensorImage fromBitmap (Bitmap bit eşlemi)
DataType.UINT8 öğesinin TensorImage nesnesini Bitmap ile başlatır .
Parametreler
| bit eşlem |
|---|
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öğesininColorSpaceTypeöğesine bağlı olarakARGB_8888yapılandırmasında ("A" kanalı her zaman opak) veyaALPHA_8içinde birBitmapreferansı.
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
ByteBufferreferansı
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
- veri türünü seçtik. Şu anda yalnızca
DataType.UINT8veDataType.FLOAT32desteklenmektedir.
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öğesininColorSpaceTypeöğesine bağlı olarakARGB_8888yapılandırmasında ("A" kanalı her zaman opak) veyaALPHA_8içinde birBitmapreferansı.
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
- resim verilerini barındıran bir
TensorBufferreferansı
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 |
|---|