Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

एक छवि को एक PyTorch Tensor में कैसे बदलें?

एक PyTorch टेंसर एक n-आयामी सरणी (मैट्रिक्स) है जिसमें एकल डेटा प्रकार के तत्व होते हैं। टेंसर एक सुन्न सरणी की तरह है। संख्यात्मक सरणियों और PyTorch टेंसर के बीच का अंतर यह है कि टेंसर संख्यात्मक गणनाओं को तेज करने के लिए GPU का उपयोग करते हैं। त्वरित गणना के लिए, छवियों को टेंसर में बदल दिया जाता है।

एक छवि को एक PyTorch टेंसर में बदलने के लिए, हम निम्नलिखित कदम उठा सकते हैं -

कदम

  • आवश्यक पुस्तकालयों को आयात करें। आवश्यक पुस्तकालय हैं मशाल, मशाल दृष्टि, तकिया।

  • छवि पढ़ें। छवि या तो एक जनहित याचिका चित्र या numpy.ndarray (HxWxC) होनी चाहिए सीमा में [0, 255]। यहां एच, डब्ल्यू, और सी छवि की ऊंचाई, चौड़ाई और चैनलों की संख्या हैं।

  • छवि को टेंसर में बदलने के लिए एक परिवर्तन को परिभाषित करें। हम transforms.ToTensor() . का उपयोग करते हैं एक परिवर्तन को परिभाषित करने के लिए।

  • ऊपर बताए गए ट्रांसफ़ॉर्म का इस्तेमाल करके इमेज को टेंसर में बदलें.

इनपुट इमेज

एक छवि को एक PyTorch Tensor में कैसे बदलें?

उदाहरण 1

# Import the required libraries
import torch
from PIL import Image
import torchvision.transforms as transforms

# Read the image
image = Image.open('Penguins.jpg')

# Define a transform to convert the image to tensor
transform = transforms.ToTensor()

# Convert the image to PyTorch tensor
tensor = transform(image)

# print the converted image tensor
print(tensor)

आउटपुट

tensor([[[0.4510, 0.4549, 0.4667, ..., 0.3333, 0.3333, 0.3333],
         [0.4549, 0.4510, 0.4627, ..., 0.3373, 0.3373, 0.3373],
         [0.4667, 0.4588, 0.4667, ..., 0.3451, 0.3451, 0.3412],
         ...,
         [0.6706, 0.5020, 0.5490, ..., 0.4627, 0.4275, 0.3333],
         [0.4196, 0.5922, 0.6784, ..., 0.4627, 0.4549, 0.3569],
         [0.3569, 0.3529, 0.4784, ..., 0.3922, 0.4314, 0.3490]],
         [[0.6824, 0.6863, 0.7020, ..., 0.6392, 0.6392, 0.6392],
         [0.6863, 0.6824, 0.6980, ..., 0.6314, 0.6314, 0.6314],
         [0.6980, 0.6902, 0.6980, ..., 0.6392, 0.6392, 0.6353],
         ...,
         [0.7255, 0.5412, 0.5765, ..., 0.5255, 0.5020, 0.4157],
         [0.4706, 0.6314, 0.7098, ..., 0.5255, 0.5294, 0.4392],
         [0.4196, 0.3961, 0.5020, ..., 0.4510, 0.5059, 0.4314]],
         [[0.8157, 0.8196, 0.8353, ..., 0.7922, 0.7922, 0.7922],
         [0.8196, 0.8157, 0.8314, ..., 0.7882, 0.7882, 0.7882],
         [0.8314, 0.8235, 0.8314, ..., 0.7961, 0.7961, 0.7922],
         ...,
         [0.6235, 0.5059, 0.6157, ..., 0.4863, 0.4941, 0.4196],
         [0.3922, 0.6000, 0.7176, ..., 0.4863, 0.5216, 0.4431],
         [0.3686, 0.3647, 0.4863, ..., 0.4235, 0.4980, 0.4353]]])

उपरोक्त पायथन कार्यक्रम में, हमने एक जनहित याचिका छवि को एक टेंसर में बदल दिया है।

उदाहरण 2

हम OpenCV . का उपयोग करके भी छवि को पढ़ सकते हैं . OpenCV का उपयोग करके पढ़ी गई छवि numpy.ndarray . प्रकार की होती है . हम एक numpy.ndarray . को रूपांतरित कर सकते हैं एक टेंसर के लिए transforms.ToTensor() . का उपयोग कर . निम्न उदाहरण पर एक नज़र डालें।

# Import the required libraries
import torch
import cv2
import torchvision.transforms as transforms

# Read the image
image = cv2.imread('Penguins.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# Define a transform to convert the image to tensor
transform = transforms.ToTensor()

# Convert the image to PyTorch tensor
tensor = transform(image)

# Print the converted image tensor
print(tensor)

आउटपुट

tensor([[[0.4510, 0.4549, 0.4667, ..., 0.3333, 0.3333, 0.3333],
         [0.4549, 0.4510, 0.4627, ..., 0.3373, 0.3373, 0.3373],
         [0.4667, 0.4588, 0.4667, ..., 0.3451, 0.3451, 0.3412],
         ...,
         [0.6706, 0.5020, 0.5490, ..., 0.4627, 0.4275, 0.3333],
         [0.4196, 0.5922, 0.6784, ..., 0.4627, 0.4549, 0.3569],
         [0.3569, 0.3529, 0.4784, ..., 0.3922, 0.4314, 0.3490]],
         [[0.6824, 0.6863, 0.7020, ..., 0.6392, 0.6392, 0.6392],
         [0.6863, 0.6824, 0.6980, ..., 0.6314, 0.6314, 0.6314],
         [0.6980, 0.6902, 0.6980, ..., 0.6392, 0.6392, 0.6353],
         ...,
         [0.7255, 0.5412, 0.5765, ..., 0.5255, 0.5020, 0.4157],
         [0.4706, 0.6314, 0.7098, ..., 0.5255, 0.5294, 0.4392],
         [0.4196, 0.3961, 0.5020, ..., 0.4510, 0.5059, 0.4314]],
         [[0.8157, 0.8196, 0.8353, ..., 0.7922, 0.7922, 0.7922],
         [0.8196, 0.8157, 0.8314, ..., 0.7882, 0.7882, 0.7882],
         [0.8314, 0.8235, 0.8314, ..., 0.7961, 0.7961, 0.7922],
         ...,
         [0.6235, 0.5059, 0.6157, ..., 0.4863, 0.4941, 0.4196],
         [0.3922, 0.6000, 0.7176, ..., 0.4863, 0.5216, 0.4431],
         [0.3686, 0.3647, 0.4863, ..., 0.4235, 0.4980, 0.4353]]])

  1. PyTorch में छवि चैनलों में माध्य कैसे खोजें?

    RGB इमेज में तीन चैनल होते हैं, रेड, ग्रीन और ब्लू। हमें इन छवि चैनलों में छवि पिक्सेल मानों के माध्य की गणना करने की आवश्यकता है। इस उद्देश्य के लिए, हम torch.mean() . विधि का उपयोग करते हैं . लेकिन इस पद्धति का इनपुट पैरामीटर एक PyTorch टेंसर है। इसलिए, हम पहले इमेज को PyTorch टेंसर में बदलते हैं

  1. टिंकर में एक छवि कैसे जोड़ें?

    छवियाँ किसी भी अनुप्रयोग में बहुत उपयोगी वस्तुएँ हैं। हम पाइथन में पिलो या पीआईएल पैकेज का उपयोग करके टिंकर एप्लिकेशन में छवियों को संसाधित कर सकते हैं। कई अंतर्निहित कार्य हैं जैसे एक छवि लोड करना, एक छवि निकालना, छवि फलक को कॉन्फ़िगर करना, आदि। उदाहरण इस उदाहरण में, हम उपयोगकर्ता को एक संवाद बॉक्

  1. छवि को ग्रेस्केल पेंट में कैसे बदलें

    एक प्रिंटर पर रंगीन स्याही को बचाने के लिए ग्रेस्केल में फोटो प्रिंट करना एक उपयोगी तकनीक है। कभी-कभी, आप रंग में प्रकाशन का विरोध नहीं कर सकते हैं, लेकिन अधिकांश तस्वीरें एक जैसी दिखती हैं। और कभी-कभी, काले और सफेद रंग में भी बेहतर। छवि को ग्रेस्केल पेंट में बदलने के लिए, आपको केवल काली स्याही चाहि