ভূমিকা
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 উইন্ডো বন্ধ করে।