কম্পিউটার টিউটোরিয়াল

PyTorch-এ ইমেজ চ্যানেলগুলোর মідিয়ান (গড়) খুঁজে বের করার পদ্ধতি


RGB ইমেজের তিনটি চ্যানেল থাকে: রেড, গ্রিন, এবং ব্লু। আমাদের এই ইমেজ চ্যানেলগুলোর পিক্সেল ভ্যালুগুলোর মিডিয়ান (গড়) কম্পিউট করতে হবে। এই উদ্দেশ্যে, আমরা torch.mean() মেথড ব্যবহার করি। কিন্তু এই মেথডের ইনপুট প্যারামিটার হল একটি PyTorch টেনসর। তাই, আমরা প্রথমে ইমেজকে PyTorch টেনসরে কনভার্ট করি এবং তারপর এই মেথড অ্যাপ্লাই করি। এটি টেনসরের সকল এলিমেন্টের মিডিয়ান ভ্যালু রিটার্ন করে। ইমেজ চ্যানেলগুলোর মিডিয়ান খুঁজে বের করতে, আমরা প্যারামিটার dim=[1,2] সেট করি।

ধাপসমূহ

  • প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন। নিচের সকল পাইথন উদাহরণে, প্রয়োজনীয় পাইথন লাইব্রেরি হল 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" প্রিন্ট করুন।

ইনপুট ইমেজ

দুই উদাহরণে ইনপুট হিসেবে নিচের ইমেজটি ব্যবহার করব।

PyTorch-এ ইমেজ চ্যানেলগুলোর মідিয়ান (গড়) খুঁজে বের করার পদ্ধতি

উদাহরণ ১

# ইমেজ চ্যানেলগুলোর মিডিয়ান খুঁজে বের করার পাইথন প্রোগ্রাম
# প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন
import torch
from PIL import Image
import torchvision.transforms as transforms

# ইনপুট ইমেজ পড়ুন
img = Image.open('opera.jpg')

# ইমেজকে PyTorch টেনসরে কনভার্ট করার ট্রান্সফর্ম ডিফাইন করুন
transform = transforms.ToTensor()

# ইমেজকে PyTorch টেনসরে কনভার্ট করুন (Image Tensor)
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 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)

উদাহরণ ২

আমরা OpenCV ব্যবহার করেও ইমেজ পড়তে পারি। OpenCV-এ পড়া ইমেজের টাইপ numpy.ndarray। এখানে, এই উদাহরণে, আমরা মিডিয়ান ক্যালকুলেট করার একটি ভিন্ন পদ্ধতি ব্যবহার করব। আমরা imgTensor.mean() ব্যবহার করব, যা টেনসরের বেসিক অপারেশন। নিচের উদাহরণটি দেখুন।

# ইমেজ চ্যানেলগুলোর মিডিয়ান খুঁজে বের করার পাইথন প্রোগ্রাম
# প্রয়োজনীয় লাইব্রেরি ইমপোর্ট করুন
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 টেনসরে কনভার্ট করুন (Image Tensor)
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 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)
  1. Tkinter-এ ব্যাকগ্রাউন্ড ইমেজকে উইন্ডো আকারে রিসাইজ করা

  2. পাইথনে scikit-learn ব্যবহার করে ইমেজের কন্টুর (contours) কীভাবে বের করবেন?

  3. আপনার নেটওয়ার্কের জন্য সেরা ওয়াই-ফাই চ্যানেল খুঁজে বের করার পদ্ধতি

  4. আপনার উইন্ডোজ ১১ PC-এর IP অ্যাড্রেস খুঁজে বের করুন: ধাপে ধাপে গাইড