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

পাইথন - OpenCV দিয়ে ছবি ভিন্ন রঙ প্রান্তরে ভিজ্যুয়ালাইজ করা

OpenCV-এ ছবি ডিফল্টভাবে BGR রঙ প্রান্তরে লোড হয়। কম্পিউটার ভিশন টাস্কে ভিন্ন রঙ প্রান্তর (Color Space) ব্যবহার করা হয়—যেমন: গ্রेস্কেল, HSV, YCrCb, LAB ইত্যাদি। নিচে কনভার্সন এবং ভিজ্যুয়ালাইজেশনের উদাহরণ দেওয়া হলো।

প্রয়োজনীয় লাইব্রেরি

import cv2
import matplotlib.pyplot as plt

১. RGB এ লোড এবং দেখানো (Matplotlib-এ RGB আশা করা হয়)

img = cv2.imread('download.png')        # BGR-এ লোড হয়
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)  # RGB-এ কনভার্ট

plt.imshow(img_rgb)
plt.title('RGB Color Space')
plt.axis('off')
plt.show()

২. গ্রেস্কেল (Grayscale)

# সরাসরি গ্রেস্কেল লোড
img_gray = cv2.imread('download.png', 0)  # cv2.IMREAD_GRAYSCALE

# অথবা BGR থেকে কনভার্ট
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cv2.imshow('Grayscale', img_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()

৩. YCrCb রঙ প্রান্তর (ভিডিও কম্প্রেশন, স্কিন ডিটেকশনে ব্যবহার)

img_ycrcb = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
cv2.imshow('YCrCb', img_ycrcb)
cv2.waitKey(0)
cv2.destroyAllWindows()

৪. HSV রঙ প্রান্তর (রঙ-ভিত্তিক সেগমেন্টেশন, অবজেক্ট ট্র্যাকিং)

img_hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.imshow('HSV', img_hsv)
cv2.waitKey(0)
cv2.destroyAllWindows()

৫. হিটম্যাপ এবং স্পেকট্রাল ম্যাপ (Matplotlib colormap)

# হিটম্যাপ (তাপমাত্রা/ঘনত্ব ভিজ্যুয়ালাইজেশন)
plt.imshow(img, cmap='hot')
plt.colorbar()
plt.title('Heatmap')
plt.show()

# স্পেকট্রাল ম্যাপ
plt.imshow(img, cmap='nipy_spectral')
plt.colorbar()
plt.title('Spectral')
plt.show()

রঙ প্রান্তর চেইট শিট

রঙ প্রান্তরOpenCV কোডপ্রধান ব্যবহার
BGR → RGBcv2.COLOR_BGR2RGBMatplotlib/ウェブ প্রদর্শন
BGR → Graycv2.COLOR_BGR2GRAYএজ ডিটেকশন, থ্রেশোল্ডিং
BGR → HSVcv2.COLOR_BGR2HSVরঙ সেগমেন্টেশন, ট্র্যাকিং
BGR → YCrCbcv2.COLOR_BGR2YCrCbস্কিন ডিটেকশন, জিপিইজি কম্প্রেশন
BGR → LABcv2.COLOR_BGR2LABরঙ ব্যালেন্সিং, ক্লাস্টারিং
সতর্কতা: OpenCV imshow() BGR এক্সপেক্ট করে, কিন্তু Matplotlib imshow() RGB এক্সপেক্ট করে। Matplotlib-এ দেখানোর আগে সবসময় cvtColor(img, COLOR_BGR2RGB) করুন।
  1. পাইথন প্রোগ্রাম: OpenCV ব্যবহার করে ইমেজের এজ ডিটেকশন

  2. পাইথনে ফোটোমোজেইক ইমপ্লিমেন্টেশন (Photomosaics)

  3. পাইথন OpenCV মডিউল ব্যবহার করে হিস্টোগ্রাম ইকুয়ালাইজেশন

  4. পাইথন Tkinter-এ কালার গেম তৈরি