Segmentowanie obrazu za pomocą maski
Mając gotową maskę binarną, możesz jej użyć do wysegmentowania obiektu – w tym przypadku kota – z obrazu.
W tym celu wczytaj oryginalny obraz i przekształć go w tensor. Następnie utwórz tensor obiektu, nakładając maskę na oryginalny obraz. Na koniec wyświetl wynik.
Zaimportowano transforms z torchvision, a binary_mask utworzona w poprzednim ćwiczeniu jest już dostępna.
To ćwiczenie jest częścią kursu
Głębokie uczenie dla obrazów z PyTorch
Instrukcje do ćwiczenia
- Utwórz
image_tensor, stosując transformacjęToTensor()zdefiniowaną jakotransformdo surowego obrazu. - Wysegmentuj obraz, nakładając
binary_masknaimage_tensor, a wynik przypisz doobject_tensor. - Zastosuj już zdefiniowaną transformację
to_pil_imagedoobject_tensor, aby wyświetlić rezultat.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()