تبدیل تصویر به تنسور در پایتورچ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

تبدیل تصویر به تنسور در پایتورچ

0 امتیاز
سلام

چطور تصویر را به تنسور تبدیل کنیم و بالعکس تنسور را به تصویر جهت نمایش تبدیل کنیم؟
سوال شده خرداد 22, 1401  بوسیله ی 13mody (امتیاز 256)   8 36 54

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
در PyTorch، می‌توانید با استفاده از تابع ()torch.from_numpy یک تصویر را به تانسور تبدیل کنید و داده‌های تصویر را به‌عنوان یک آرایه numpy ارسال کنید. داده های تصویر باید در قالب (ارتفاع، عرض، کانال) باشد.
 
در اینجا مثالی از نحوه تبدیل یک تصویر به تانسور آورده شده است:
import cv2
import torch

# Read an image using OpenCV
image = cv2.imread("path/to/image.jpg")

# Convert the image to a tensor
tensor = torch.from_numpy(image)

 

برای تبدیل یک تانسور به یک تصویر برای نمایش، می‌توانید از تابع ()torch.numpy برای تبدیل تانسور به یک آرایه numpy استفاده کنید و سپس از OpenCV یا هر کتابخانه دیگری برای نمایش تصویر استفاده کنید.
 
در اینجا مثالی از نحوه تبدیل تانسور به تصویر آورده شده است:
import cv2
import torch

# Create a tensor
tensor = torch.rand(3, 256, 256)

# Convert the tensor to a numpy array
image = tensor.numpy()

# Display the image using OpenCV
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
توجه داشته باشید که در مثال بالا، تانسور باید به شکل (کانال، ارتفاع، عرض) باشد و قبل از تبدیل به تصویر، ابتدا نرمال شود.
 
اگر می‌خواهید تصویر را ذخیره کنید، می‌توانید از تابع ()cv2.imwrite استفاده کنید و مسیری را که می‌خواهید تصویر را ذخیره کنید، مشخص کنید.
cv2.imwrite("path/to/save/image.jpg",image)

 

ذکر این نکته ضروری است که مثال‌های بالا تنها یکی از راه‌های تبدیل تصویر به تانسور و بالعکس هستند، می‌توانید از کتابخانه‌های دیگری مانند PIL یا skimage نیز استفاده کنید.

پاسخ داده شده بهمن 6, 1401 بوسیله ی farnoosh (امتیاز 8,362)   20 44 59
انتخاب شد بهمن 6, 1401 بوسیله ی مصطفی ساتکی
...