RGB इमेज में तीन चैनल होते हैं: रेड, ग्रीन, और ब्लू। हमें इन इमेज चैनल्स में इमेज पिक्सेल मानों का मीन निकालने की आवश्यकता होती है। इस उद्देश्य के लिए, हम torch.mean() मेथड का उपयोग करते हैं। लेकिन इस मेथड का इनपुट पैरामीटर एक PyTorch टेंसर है। इसलिए, हम पहले इमेज को PyTorch टेंसर में बदलते हैं और फिर इस मेथड को लागू करते हैं। यह टेंसर में सभी तत्वों का मीन मान लौटाता है। इमेज चैनल्स में मीन निकालने के लिए, हम पैरामीटर dim=[1,2] सेट करते हैं।
चरण
आवश्यक लाइब्रेरी इम्पोर्ट करें। निम्नलिखित सभी Python उदाहरणों में, आवश्यक Python लाइब्रेरी torch, torchvision, Pillow और OpenCV हैं। सुनिश्चित करें कि आपने उन्हें पहले ही इंस्टॉल कर लिया है।
Image.open() का उपयोग करके इनपुट इमेज पढ़ें और इसे "img" वेरिएबल में असाइन करें।
PIL इमेज को PyTorch टेंसर में बदलने के लिए ट्रांसफॉर्म परिभाषित करें।
उपरोक्त परिभाषित ट्रांसफॉर्म का उपयोग करके इमेज "img" को PyTorch टेंसर में बदलें और इस टेंसर को "imgTensor" में असाइन करें।
torch.mean(imgTensor, dim=[1,2]) की गणना करें। यह तीन मानों का एक टेंसर लौटाता है। ये तीन मान तीन चैनल्स RGB के लिए मीन मान हैं। आप इन तीन मीन मानों को अलग-अलग तीन नए वेरिएबल "R_mean", "G_mean", और "B_mean" में असाइन कर सकते हैं।
इमेज पिक्सेल के तीन मीन मान "R_mean", "G_mean", और "B_mean" प्रिंट करें।
इनपुट इमेज
हम दोनों उदाहरणों में निम्नलिखित इमेज का उपयोग इनपुट के रूप में करेंगे।

उदाहरण 1
# इमेज चैनल्स में मीन निकालने के लिए Python प्रोग्राम
# आवश्यक लाइब्रेरी इम्पोर्ट करें
import torch
from PIL import Image
import torchvision.transforms as transforms
# इनपुट इमेज पढ़ें
img = Image.open('opera.jpg')
# इमेज को PyTorch टेंसर में बदलने के लिए ट्रांसफॉर्म परिभाषित करें
transform = transforms.ToTensor()
# इमेज को PyTorch टेंसर (इमेज टेंसर) में बदलें
imgTensor = transform(img)
print("Shape of Image Tensor:\n", imgTensor.shape)
# इमेज टेंसर का मीन इमेज चैनल्स RGB में निकालें
R_mean, G_mean, B_mean = torch.mean(imgTensor, dim=[1, 2])
# इमेज चैनल RGB में मीन प्रिंट करें
print("Mean across Red 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 Red 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 प्रोग्राम
# आवश्यक लाइब्रेरी इम्पोर्ट करें
import torch
import cv2
import torchvision.transforms as transforms
# इनपुट इमेज को cv2 या PIL का उपयोग करके पढ़ें
img = cv2.imread('opera.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# इमेज को PyTorch टेंसर में बदलने के लिए ट्रांसफॉर्म परिभाषित करें
transform = transforms.ToTensor()
# इमेज को PyTorch टेंसर (इमेज टेंसर) में बदलें
imgTensor = transform(img)
print("Shape of Image Tensor:\n", imgTensor.shape)
# इमेज टेंसर का मीन इमेज चैनल्स RGB में निकालें
# मीन निकालने का दूसरा तरीका
R_mean, G_mean, B_mean = imgTensor.mean(dim=[1, 2])
# इमेज चैनल RGB में मीन प्रिंट करें
print("Mean across Red 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 Red channel: tensor(0.1487) Mean across Green channel: tensor(0.1607) Mean across Blue channel: tensor(0.2521)