W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
注意:接受 Tensor 參數(shù)的函數(shù)也可以接受被 tf.convert_to_tensor 接受的任何內(nèi)容
TensorFlow 提供操作來解碼和編碼 JPEG 和 PNG 格式。編碼圖像由標(biāo)量字符串 Tensors 表示,解碼圖像由shape為[height, width, channels]的3-D uint8張量表示。(PNG也支持 uint16)
編碼和解碼操作一次適用于一個圖像。他們的輸入和輸出都是可變的大小。如果您需要固定大小的圖像,請將解碼操作的輸出傳遞到裁剪和調(diào)整大小操作之一。
注意:PNG 編碼和解碼操作支持 RGBA,但轉(zhuǎn)換操作目前只支持 RGB,HSV 和 GrayScale。目前,Alpha 通道必須從圖像中剝離,并使用切片操作重新附加。
調(diào)整大小的操作接受輸入圖像作為幾種類型的張量。他們總是將大小調(diào)整后的圖像輸出為 float32 張量。
方便函數(shù) tf.image.resize_images 支持4維和3維張量作為輸入和輸出。4維張量用于批量的圖像,用于單個圖像的3維張量。
其他大小調(diào)整操作只支持4維圖像批處理作為輸入:tf.image.resize_area,tf.image.resize_bicubic,tf.image.resize_bilinear,tf.image.resize_nearest_neighbor.
例:
# Decode a JPG image and resize it to 299 by 299 using default method.
image = tf.image.decode_jpeg(...)
resized_image = tf.image.resize_images(image, [299, 299])
圖像操作可以在單個圖像或一批圖像上工作,具體取決于其輸入的張量形狀。
如果3維,則shape是 [height, width, channels],而 Tensor 表示一個圖像。如果4維,則shape是 [batch_size, height, width, channels],而 Tensor 表示 batch_size 圖像。
目前,channels 可以有效地為 1,2,3或4,單通道圖像是灰度級,3通道的圖像被編碼為 RGB 或 HSV。具有2或4個通道的圖像包括 Alpha 通道,必須在將圖像傳遞到大多數(shù)圖像處理功能之前從圖像中剝離(并且可以稍后重新附加)。
在內(nèi)部,圖像或者以 float32 每像素一個通道存儲(隱含地,假定值位于[0,1))或者 uint8 每個像素每個通道一個(假定值在于[0,255])。
TensorFlow 可以在 RGB 或 HSV 的圖像之間進(jìn)行轉(zhuǎn)換.轉(zhuǎn)換功能僅適用于浮動圖像,因此您需要使用其他格式轉(zhuǎn)換圖像 tf.image.convert_image_dtype。
例:
# Decode an image and convert it to HSV.
rgb_image = tf.image.decode_png(..., channels=3)
rgb_image_float = tf.image.convert_image_dtype(rgb_image, tf.float32)
hsv_image = tf.image.rgb_to_hsv(rgb_image)
TensorFlow 提供了以各種方式調(diào)整圖像的功能:亮度,對比度,色相和飽和度。每個調(diào)整都可以用預(yù)定義的參數(shù)或從預(yù)定義的間隔中選取的隨機(jī)參數(shù)完成。隨機(jī)調(diào)整通常有助于擴(kuò)大訓(xùn)練集并減少過度配合。
如果幾個調(diào)整被鏈接,建議通過首先將圖像轉(zhuǎn)換為最自然的數(shù)據(jù)類型和表示(RGB 或 HSV)來最小化冗余轉(zhuǎn)換的數(shù)量。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: