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.
Ayrıca bakınız
Kamu İnşaatçıları
TensorImage () 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) |
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. |
---|
Atar
YasadışıTartışmaİstisna | dataType DataType.UINT8 veya DataType.FLOAT32 değilse |
---|
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 birTensorImage
genel statik TensorImage fromBitmap (Bitmap bitmap)
Bitmap
ile DataType.UINT8
TensorImage
nesnesini başlatır.
Parametreler
bit eşlem |
---|
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
- bu
TensorBuffer
ColorSpaceType
bağlı olarakARGB_8888
config ("A" kanalı her zaman opaktır) veyaALPHA_8
içindeki birBitmap
referans.
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
- bir veri türüdür. Şu anda yalnızca
DataType.UINT8
veDataType.FLOAT32
desteklenmektedir.
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
- bu
TensorBuffer
ColorSpaceType
bağlı olarakARGB_8888
config ("A" kanalı her zaman opaktır) veyaALPHA_8
içindeki birBitmap
referans.
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
- görüntü verilerini tutan bir
TensorBuffer
referans
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ü |
---|