কম্পিউটার

কিভাবে একটি PyTorch Tensor একটি ইমেজ রূপান্তর?


একটি পাইটর্চ টেনসর হল একটি এন-ডাইমেনশনাল অ্যারে (ম্যাট্রিক্স) যাতে একটি একক ডেটা টাইপের উপাদান থাকে। একটি টেনসর একটি নম্পি অ্যারের মতো। নম্পি অ্যারে এবং পাইটর্চ টেনসরের মধ্যে পার্থক্য হল যে টেনসরগুলি সাংখ্যিক গণনাগুলিকে ত্বরান্বিত করতে জিপিইউ ব্যবহার করে। ত্বরিত গণনার জন্য, চিত্রগুলি টেনসরে রূপান্তরিত হয়৷

একটি ছবিকে PyTorch টেনসরে রূপান্তর করতে, আমরা নিম্নলিখিত পদক্ষেপগুলি নিতে পারি -

পদক্ষেপ

  • প্রয়োজনীয় লাইব্রেরি আমদানি করুন। প্রয়োজনীয় লাইব্রেরি হল টর্চ, টর্চভিশন, বালিশ৷

  • ইমেজ পড়ুন. ছবিটি অবশ্যই একটি পিআইএল ছবি বা একটি numpy.ndarray (HxWxC) হতে হবে পরিসরে [0, 255]। এখানে H, W, এবং C ইমেজের উচ্চতা, প্রস্থ এবং চ্যানেলের সংখ্যা।

  • চিত্রটিকে টেনসরে রূপান্তর করতে একটি রূপান্তর সংজ্ঞায়িত করুন। আমরা transforms.ToTensor() ব্যবহার করি একটি রূপান্তর সংজ্ঞায়িত করতে।

  • উপরের সংজ্ঞায়িত রূপান্তর ব্যবহার করে চিত্রটিকে টেনসরে রূপান্তর করুন।

ইনপুট ছবি

কিভাবে একটি PyTorch Tensor একটি ইমেজ রূপান্তর?

উদাহরণ 1

# প্রয়োজনীয় লাইব্রেরি আমদানি করুন পিআইএল থেকে মশাল আমদানি করুন Imageimport torchvision.transforms as transforms# imageimage পড়ুন =Image.open('Penguins.jpg')# ছবিকে টেনসরট্রান্সফর্ম =transforms.ToTensor()# রূপান্তর করতে একটি রূপান্তর সংজ্ঞায়িত করুন চিত্রটি PyTorch tensortensor =রূপান্তর(ছবি)# রূপান্তরিত চিত্রটি মুদ্রণ করুন টেনসরপ্রিন্ট(টেনসর)

আউটপুট

টেনসর ..., 0.3451, 0.3451, 0.3412], ..., [0.6706, 0.5020, 0.5490, ..., 0.4627, 0.4275, 0.3333], [0.4196, 0.5962, 0.592, 4049,4057,4027,4027,4020,4020, 0.5490, ..., 0.4627, 0.4275, 0.3333] , [0.3569, 0.3529, 0.4784, ..., 0.3922, 0.4314, 0.3490]], [[0.6824, 0.6863, 0.7020, ..., 0.6392, 0.6392, 0.639,820,820,820,820,820,6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.639, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392। 0.6314, 0.6314, 0.6314], [0.6980, 0.6902, 0.6980, ..., 0.6392, 0.6392, 0.6353], ..., [0.7255, 0.5412, 0.50,50, 0.50, 50,47, 0.50, 0.50, ... 0.6314, 0.7098, ..., 0.5255, 0.5294, 0.4392], [0.4196, 0.3961, 0.5020, ..., 0.4510, 0.5059, 0.4314], 190, 820, 70,82, [70,82], [70,82] 0.7922], [0.8196, 0.8157, 0.8314, ..., 0.7882, 0.7882, 0.7882], [0.8314, 0.8235, 0.8314, ..., 0.7961, 0.29, 0.29, ...] [0.6235, 0.5059, 0.6157, ..., 0.4863, 0.4941, 0.4196], [0.3922, 0.6000, 0.7176, ..., 0.4863, 0.5216, 0.63,40, 6.40, 0.640, ]640, 0.640 [380] , 0.4353]]])

উপরের পাইথন প্রোগ্রামে, আমরা একটি পিআইএল ইমেজকে টেনসরে রূপান্তর করেছি।

উদাহরণ 2

এছাড়াও আমরা OpenCV ব্যবহার করে চিত্রটি পড়তে পারি . OpenCV ব্যবহার করে পঠিত ছবি numpy.ndarray ধরনের . আমরা একটি numpy.ndarray রূপান্তর করতে পারি transforms.ToTensor() ব্যবহার করে একটি টেনসরে . নিচের উদাহরণটি দেখুন।

# প্রয়োজনীয় লাইব্রেরি ইম্পোর্ট করুন টর্চিমপোর্ট cv2import torchvision.transforms as transforms# ইমেজ পড়ুন =cv2.imread('Penguins.jpg')image =cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# রূপান্তর করতে ইমেজটিকে সংজ্ঞায়িত করুন to tensortransform =transforms.ToTensor()# চিত্রটিকে PyTorch tensortensor এ রূপান্তর করুন =রূপান্তর(চিত্র)# রূপান্তরিত চিত্রটি প্রিন্ট করুন টেনসরপ্রিন্ট(টেনসর)

আউটপুট

টেনসর ..., 0.3451, 0.3451, 0.3412], ..., [0.6706, 0.5020, 0.5490, ..., 0.4627, 0.4275, 0.3333], [0.4196, 0.5962, 0.592, 4049,4057,4027,4027,4020,4020, 0.5490, ..., 0.4627, 0.4275, 0.3333] , [0.3569, 0.3529, 0.4784, ..., 0.3922, 0.4314, 0.3490]], [[0.6824, 0.6863, 0.7020, ..., 0.6392, 0.6392, 0.639,820,820,820,820,820,6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.639, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392, 0.6392। 0.6314, 0.6314, 0.6314], [0.6980, 0.6902, 0.6980, ..., 0.6392, 0.6392, 0.6353], ..., [0.7255, 0.5412, 0.50,50, 0.50, 50,47, 0.50, 0.50, ... 0.6314, 0.7098, ..., 0.5255, 0.5294, 0.4392], [0.4196, 0.3961, 0.5020, ..., 0.4510, 0.5059, 0.4314], 190, 820, 70,82, [70,82], [70,82] 0.7922], [0.8196, 0.8157, 0.8314, ..., 0.7882, 0.7882, 0.7882], [0.8314, 0.8235, 0.8314, ..., 0.7961, 0.29, 0.29, ...] [0.6235, 0.5059, 0.6157, ..., 0.4863, 0.4941, 0.4196], [0.3922, 0.6000, 0.7176, ..., 0.4863, 0.5216, 0.63,40, 6.40, 0.640, ]640, 0.640 [380] , 0.4353]]])
  1. পাইটর্চে একটি টেনসরের হিস্টোগ্রাম কীভাবে গণনা করবেন?

  2. কিভাবে PyTorch ইমেজ চ্যানেল জুড়ে মানে খুঁজে পেতে?

  3. কিভাবে Tkinter একটি ইমেজ যোগ করতে?

  4. কিভাবে ইমেজকে গ্রেস্কেল পেইন্টে কনভার্ট করবেন