কম্পিউটার

পাইথনে আরজিবি থেকে গ্রেস্কেলে একটি চিত্র রূপান্তর করতে কীভাবে স্কিট-লার্ন ব্যবহার করা যেতে পারে?


Scikit-learn, সাধারণত sklearn নামে পরিচিত পাইথনের একটি লাইব্রেরি যা মেশিন লার্নিং অ্যালগরিদম বাস্তবায়নের উদ্দেশ্যে ব্যবহৃত হয়।

একটি রঙের স্থান থেকে অন্য রঙে একটি চিত্রের রূপান্তর সাধারণত ব্যবহৃত হয় যাতে নতুন অর্জিত রঙের স্থান এটিতে অন্যান্য ক্রিয়াকলাপ সম্পাদন করার জন্য একটি ভাল ইনপুট হিসাবে প্রমাণিত হতে পারে। এর মধ্যে রয়েছে আলাদা করা বর্ণ, আলোকসজ্জা, স্যাচুরেশন লেভেল ইত্যাদি। যখন একটি চিত্রকে RGB উপস্থাপনা ব্যবহার করে উপস্থাপন করা হয়, তখন রঙ এবং আলোক বৈশিষ্ট্যগুলি চ্যানেল R, G এবং B এর রৈখিক সংমিশ্রণ হিসাবে দেখানো হয়।

যখন RGB রঙের স্থান সহ একটি চিত্রকে গ্রেস্কেলে রূপান্তর করার চেষ্টা করা হয়, তখন পিক্সেলের মানগুলি লাল, সবুজ এবং নীল পিক্সেলের ওজনযুক্ত যোগফল হিসাবে গণনা করা হয়। সমীকরণটি নীচে দেখানো হয়েছে -

Y = 0.2125 R + 0.7154 G + 0.0721 B

এই ওজনগুলি বিশেষভাবে প্রদান করা হয়, যেহেতু এগুলি CRT ফসফর দ্বারা ব্যবহৃত হয় যা তিনটি মানের জন্য সমান ওজন প্রদানের তুলনায় লাল, সবুজ এবং নীল রঙ সম্পর্কে মানুষের ধারণাকে আরও ভালভাবে উপস্থাপন করে৷

আসুন দেখি কিভাবে একটি RGB ইমেজকে গ্রেস্কেল ইমেজে রূপান্তর করা যায় −

উদাহরণ

from skimage import io
import matplotlib.pyplot as plt
from skimage import data
from skimage.color import rgb2gray
from skimage import data
path = "path to puppy_1.JPG"
orig_img = io.imread(path)
grayscale_img = rgb2gray(orig_img)
fig, axes = plt.subplots(1, 2, figsize=(8, 4))
ax = axes.ravel()
ax[0].imshow(orig_img)
ax[0].set_title("Original image")
ax[1].imshow(grayscale_img, cmap=plt.cm.gray)
ax[1].set_title("Grayscale image")
fig.tight_layout()
plt.show()

আউটপুট

পাইথনে আরজিবি থেকে গ্রেস্কেলে একটি চিত্র রূপান্তর করতে কীভাবে স্কিট-লার্ন ব্যবহার করা যেতে পারে?

ব্যাখ্যা

  • প্রয়োজনীয় লাইব্রেরিগুলি আমদানি করা হয়৷
  • ইমেজটি যেখানে সংরক্ষিত হয় সেই পথটি সংজ্ঞায়িত করা হয়েছে।
  • 'imread' ফাংশনটি পথ পরিদর্শন করতে এবং চিত্রটি পড়তে ব্যবহৃত হয়।
  • 'imshow' ফাংশনটি কনসোলে ছবি প্রদর্শন করতে ব্যবহৃত হয়।
  • আরজিবি কালার স্পেস থেকে ইমেজকে গ্রেস্কেল কালার স্পেসে রূপান্তর করতে 'rgb2gray' ফাংশন ব্যবহার করা হয়।
  • এই ডেটা প্লট করার জন্য ম্যাটপ্লটলিব লাইব্রেরি ব্যবহার করা হয় এবং গ্রেস্কেলে রূপান্তরিত হওয়ার পরে আসল চিত্র এবং চিত্রটি দেখায়।
  • এটি কনসোলে প্রদর্শিত হয়৷

  1. পাইথনে একটি ছবি আপলোড এবং দেখার জন্য কীভাবে স্কিট লার্ন লাইব্রেরি ব্যবহার করা যেতে পারে?

  2. কিভাবে RGB রঙের স্থান পাইথনে একটি ভিন্ন রঙের স্থানে রূপান্তর করা যায়?

  3. পাইথনে স্কিট-লার্ন ব্যবহার করে একটি চিত্রের কনট্যুরগুলি কীভাবে খুঁজে পাবেন?

  4. পাইথনে একটি চিত্রের রেজোলিউশন পেতে কীভাবে স্কিট-লার্ন লাইব্রেরি ব্যবহার করা যেতে পারে?