使用遮罩分割影像
有了二元遮罩之後,你可以把目標物(也就是貓)從影像中分離出來。
做法是先載入原始影像並將其轉換為張量。接著,以遮罩套用在原始影像上,建立物件張量。最後,將結果顯示出來。
torchvision 的 transforms 已經匯入,你在前一個練習建立的 binary_mask 也可直接使用。
本練習屬於課程
使用 PyTorch 進行影像深度學習
練習說明
- 將定義為
transform的ToTensor()轉換套用到原始影像,建立image_tensor。 - 以
binary_mask遮罩image_tensor,完成影像分割,並將結果指定給object_tensor。 - 將已定義的
to_pil_image轉換套用到object_tensor,以便顯示結果。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Load image and transform to tensor
image = Image.open("images/Egyptian_Mau_123.jpg")
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = ____
# Segment object out of the image
object_tensor = ____
# Convert segmented object to image and display
to_pil_image = ____
object_image = to_pil_image(object_tensor)
plt.imshow(object_image)
plt.show()