RGB इमेज में तीन चैनल होते हैं, रेड, ग्रीन और ब्लू। हमें इन छवि चैनलों में छवि पिक्सेल मानों के माध्य की गणना करने की आवश्यकता है। इस उद्देश्य के लिए, हम torch.mean() . विधि का उपयोग करते हैं . लेकिन इस पद्धति का इनपुट पैरामीटर एक PyTorch टेंसर है। इसलिए, हम पहले इमेज को PyTorch टेंसर में बदलते हैं और फिर इस विधि को लागू करते हैं। यह टेंसर के सभी तत्वों का माध्य मान लौटाता है। छवि चैनलों में माध्य ज्ञात करने के लिए, हम पैरामीटर सेट करते हैं dim =[1,2] ।
कदम
-
आवश्यक पुस्तकालय आयात करें। निम्नलिखित सभी पायथन उदाहरणों में, आवश्यक पायथन पुस्तकालय हैं मशाल, मशाल दृष्टि, तकिया और ओपनसीवी . सुनिश्चित करें कि आपने उन्हें पहले ही इंस्टॉल कर लिया है।
-
image.open() . का उपयोग करके इनपुट छवि पढ़ें और इसे एक वैरिएबल "img" . को असाइन करें ।
-
PIL इमेज को PyTorch Tensor में बदलने के लिए ट्रांसफ़ॉर्म को परिभाषित करें
-
छवि को रूपांतरित करें "img "उपरोक्त परिभाषित ट्रांसफ़ॉर्म का उपयोग करके एक PyTorch टेंसर के लिए और इस टेंसर को "imgTensor" को असाइन करें ।
-
गणना torch.mean(imgTensor, dim =[1,2]) . यह तीन मानों का टेंसर देता है। ये तीन मान तीन चैनल RGB के लिए माध्य मान हैं। आप इन तीन माध्य मानों को तीन नए चरों के लिए अलग-अलग निर्दिष्ट कर सकते हैं "R_mean", "G_mean" , और "B_mean" ।
-
तीन माध्य मान प्रिंट करें "R_mean", "G_mean", और "B_mean" छवि पिक्सेल का।
इनपुट छवि
हम दोनों उदाहरणों में इनपुट के रूप में निम्न छवि का उपयोग करेंगे।
उदाहरण 1
# Python program to find mean across the image channels # import necessary libraries import torch from PIL import Image import torchvision.transforms as transforms # Read the input image img = Image.open('opera.jpg') # Define transform to convert the image to PyTorch Tensor transform = transforms.ToTensor() # Convert image to PyTorch Tensor (Image Tensor) imgTensor = transform(img) print("Shape of Image Tensor:\n", imgTensor.shape) # Compute mean of the Image Tensor across image channels RGB R_mean, G_mean ,B_mean = torch.mean(imgTensor, dim = [1,2]) # print mean across image channel RGB print("Mean across Read channel:", R_mean) print("Mean across Green channel:", G_mean) print("Mean across Blue channel:", B_mean)
आउटपुट
Shape of Image Tensor: torch.Size([3, 447, 640]) Mean across Read channel: tensor(0.1487) Mean across Green channel: tensor(0.1607) Mean across Blue channel: tensor(0.2521)
उदाहरण 2
हम OpenCV . का उपयोग करके भी छवि को पढ़ सकते हैं . OpenCV का उपयोग करके पढ़ी जाने वाली छवियां numpy.ndarray . प्रकार की होती हैं . यहां, इस उदाहरण में, हम माध्य की गणना के लिए एक अलग तरीके का उपयोग करते हैं। हम imgTensor.mean() . का उपयोग करते हैं , टेंसर पर बुनियादी ऑपरेशन। निम्न उदाहरण पर एक नज़र डालें।
# Python program to find mean across the image channels # import necessary libraries import torch import cv2 import torchvision.transforms as transforms # Read the input image either using cv2 or PIL img = cv2.imread('opera.jpg') img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) # Define transform to convert the image to PyTorch Tensor transform = transforms.ToTensor() # Convert image to PyTorch Tensor (Image Tensor) imgTensor = transform(img) print("Shape of Image Tensor:\n", imgTensor.shape) # compute mean of the Image Tensor across image channels RGB # The other way to compute the mean R_mean, G_mean ,B_mean = imgTensor.mean(dim = [1,2]) # print mean across image channel RGB print("Mean across Read channel:", R_mean) print("Mean across Green channel:", G_mean) print("Mean across Blue channel:", B_mean)
आउटपुट
Shape of Image Tensor: torch.Size([3, 447, 640]) Mean across Read channel: tensor(0.1487) Mean across Green channel: tensor(0.1607) Mean across Blue channel: tensor(0.2521)