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
src
kaynağından kopyalanan ve veri türüdataType
olan 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_8888
yapılandırmasında ("A" kanalı her zaman opak) veyaALPHA_8
içinde birBitmap
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
- veri türünü seçtik. Şu anda yalnızca
DataType.UINT8
veDataType.FLOAT32
desteklenmektedir.
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_8888
yapılandırmasında ("A" kanalı her zaman opak) veyaALPHA_8
içinde birBitmap
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
- resim verilerini barındıran bir
TensorBuffer
referansı
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 |
---|