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

পাইথন OpenCV মডিউলে ছবি পড়া


ভূমিকা

OpenCV (Open Source Computer Vision) লাইব্রেরি ব্যবহার করে পাইথনে ছবি প্রক্রিয়াকরণ একটি সহজ কাজ। ছবি পড়ার জন্য cv2.imread() ফাংশনটি ব্যবহৃত হয়। এই ফাংশনটি ছবির পথ বা পূর্ণ পথ (full path) আর্গুমেন্ট হিসেবে নেয়। ছবিটি যদি ওয়ার্কিং ডিরেক্টরিতে না থাকে, তবে অবশ্যই পূর্ণ পথ দেওয়া উচিত।

ছবি পড়ার فل্যাগ (Flags)

cv2.imread()-এর দ্বিতীয় আর্গুমেন্ট হিসেবে নিম্নলিখিত ফ্ল্যাগগুলো ব্যবহার করা যায়:

  • cv2.IMREAD_COLOR: রঙিন ছবি লোড করে। পারদর্শিতা (transparency/alpha channel) উপেক্ষা করা হয়। এটি ডিফল্ট ফ্ল্যাগ।
  • cv2.IMREAD_GRAYSCALE: ছবিকে গ্রেস্কেল মোডে লোড করে।
  • cv2.IMREAD_UNCHANGED: ছবিটিAlpha চ্যানেলসহ অক্ষুণ্ণ 상태로 লোড করে।

উদাহরণ কোড

উদাহরণ ১: গ্রেস্কেল ছবি পড়া এবং সংরক্ষণ

import numpy as np
import cv2

# ছবি গ্রেস্কেলে পড়া (0 = IMREAD_GRAYSCALE)
my_img = cv2.imread('C:/Users/TP/Desktop/poor/poverty_india.jpg', 0)

cv2.imshow('image', my_img)
k = cv2.waitKey(0) & 0xFF  # ESC কী চাপলে বের হবে

if k == 27:  # ESC কী
    cv2.destroyAllWindows()
elif k == ord('s'):  # 's' কী চাপলে ছবি সংরক্ষণ
    cv2.imwrite('C:/Users/TP/Desktop/poor/poverty_india_gray.jpg', my_img)
    cv2.destroyAllWindows()

উদাহরণ ২: Matplotlib ব্যবহার করে প্রদর্শন

import cv2
import numpy as np
import matplotlib.pyplot as plt

my_img = cv2.imread('C:/Users/TP/Desktop/poor/poverty_india.jpg', cv2.IMREAD_GRAYSCALE)
cv2.imshow('image', my_img)
cv2.waitKey(0)
cv2.destroyAllWindows()  # দ্রষ্টব্য: 본래 কোডে 'destoryAllWindows' বানান ভুল ছিল

মূল পয়েন্ট স্মরণ রাখুন

  • ছবির পথ সঠিকভাবে দিন (রিলেটিভ বা অ্যাবসোলিউট)।
  • cv2.imshow() উইন্ডোতে ছবি দেখানোর জন্য ব্যবহার করুন।
  • cv2.waitKey(0) অনশ্চিতকালীন অপেক্ষা করে, কোনো কী চাপলে এগিয়ে যায়।
  • cv2.destroyAllWindows() সব ওপেনCV উইন্ডো বন্ধ করে।
  1. পাইথন প্রোগ্রাম: OpenCV ব্যবহার করে ইমেজের এজ ডিটেকশন

  2. পাইথনে OpenCV ব্যবহার করে টেমপ্লেট ম্যাচিং

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

  4. পাইথন OpenCV-এ জ্যামিতিক আকৃতি আঁকা