在Python以陣列的方式讀取影像,並轉為Torch張量
圖片路徑:
img_path = ‘./datasets/proposal-flow-pascal/PF-dataset-PASCAL/JPEGImages/2009_003820.jpg’
讀取圖片的2種不同方法:
from PIL import Image
image_1 = Image.open(img_path)
from skimage import io
image_2 = io.imread(img_path)
這2種方法讀取的影像的shape是一樣的,都是numpy陣列型別:(228, 300, 3)
print(image_1.shape)
print(image_2.shape)
對(影像)陣列進行升維(通過numpy.升維)
source_image = np.expand_dims(source_image.transpose((2,0,1)),0)
source_image的shape為:(1, 3, 228, 300)
print(source_image.shape)
將numpy陣列轉為torch張量:
source_image = torch.Tensor(source_image)
source_image的shape為:torch.Size([1, 3, 228, 300])
上一句也可以替換為,將numpy陣列轉為torch張量(同時歸一化):
source_image = torch.Tensor(source_image.astype(np.float32)/255.0)
source_image的shape為:torch.Size([1, 3, 228, 300])
將torch張量轉為變數
image_var = Variable(source_image,requires_grad=False)
image_var的shape為:image_var_shape: torch.Size([1, 3, 228, 300])
對(影像)進行降維
image_var_1 = image_var_1[0] # 4維降3維
調整不同維度的順序(對於變數)
image_var_1 = image_var_1.permute(1, 2, 0)
調整不同維度的順序(對於陣列)
source_image = source_image.transpose(1, 2, 0)
轉為陣列
image_var_1 = image_var_1.numpy()
Python讀取影像時,讀取為numpy陣列,用plt顯示影像時,也必須是numpy陣列的格式才能顯示。
張量和變數必須先轉為陣列才能作為影像顯示。
相關文章
- PIL影像轉torch的tensor
- Python多個陣列合並(拼接)為一個陣列Python陣列
- python如何獲取陣列元素的下標並輸出Python陣列
- 大神教你python 讀取檔案並把矩陣轉成numpy的兩種方法Python矩陣
- PHP陣列轉換為js陣列PHP陣列JS
- 多維陣列轉一維陣列(降維的多種方式)陣列
- Python多個陣列合並Python陣列
- python進行陣列合並的方法Python陣列
- Java擷取指定區間內的陣列元素並存入新陣列Java陣列
- Java陣列轉列表方式對比Java陣列
- 影像的讀取,
- 帶緩衝的寫並且讀取固定大小byte陣列的物件設計陣列物件
- 如何讀取leetcode中的二維陣列LeetCode陣列
- python使用cv2讀取影像Python
- 將字串陣列轉換為浮點數陣列字串陣列
- JavaScript獲取元素在陣列中的位置JavaScript陣列
- json字串 轉換為陣列JSON字串陣列
- JavaScript 字串轉換為陣列JavaScript字串陣列
- python解壓並讀取檔案Python
- iOS 字典轉陣列,陣列轉字典iOS陣列
- php陣列如何轉換為xml的形式?PHP陣列XML
- 將一個Collection轉為陣列陣列
- JavaScript將陣列轉換為字串JavaScript陣列字串
- Java 中陣列轉換為 ListJava陣列
- PHP xml 轉陣列 陣列轉 xml 操作PHPXML陣列
- python以16進位制列印位元組陣列Python陣列
- js獲取數字陣列最大值的幾種方式JS陣列
- cv2 影像的讀取
- js將陣列轉字元,字元轉回陣列JS陣列字元
- PHP 陣列合並PHP陣列
- js 物件轉為js陣列 && Object方法JS物件陣列Object
- 字串陣列轉為樹形結構字串陣列
- 【Java】int[] 陣列 和 Integer陣列的轉換Java陣列
- Python教程:將有序陣列轉換為二叉搜尋樹Python陣列
- MATLAB|讀取一個檔案,並將其不同內容儲存為不同的矩陣Matlab矩陣
- java讀取excel為物件並進行讀寫操作JavaExcel物件
- 一張圖整理陣列方法陣列
- Python中CSV讀取和轉換Python