ওপেন সিভি হল একটি পাইথন লাইব্রেরি যা কম্পিউটার ভিশন এবং অন্যান্য কৃত্রিম নিদর্শনগুলির সাথে কাজ করতে ব্যবহৃত হয়। ওপেন সিভিতে অন্তর্নির্মিত ফাংশন এবং পদ্ধতি রয়েছে যা কৃত্রিম বুদ্ধিমত্তা এবং মেশিন লার্নিং-এ কম্পিউটার ভিশনের সাথে কাজ করার অ্যাক্সেস প্রদান করে। ওপেন সিভির কিছু উদাহরণ হল:মুখ সনাক্তকরণ, বস্তু সনাক্তকরণ, এক্স-রে এবং অন্যান্য শিল্প ব্যবহার।
Tkinter লাইব্রেরি ব্যবহার করে, আমরা একটি ইন্টারেক্টিভ অ্যাপ্লিকেশন তৈরি করতে পারি যা অ্যাপ্লিকেশনটির অপরিহার্য অংশ হিসেবে OpenCV ব্যবহার করে।
অ্যাপ্লিকেশন তৈরি করতে, আপনাকে আপনার স্থানীয় মেশিনে OpenCV ইনস্টল করতে হবে এবং নিশ্চিত করুন যে Python Pillow প্যাকেজটি আগে থেকে ইনস্টল করা আছে। আপনি নোটবুকে নিম্নলিখিত কমান্ড টাইপ করে এই প্যাকেজগুলি ইনস্টল করতে পারেন৷
৷pip install open-cv pip install Pillow
ইনস্টলেশন সম্পূর্ণ হলে, আমরা অ্যাপ্লিকেশনটির গঠন এবং GUI তৈরি করা শুরু করতে পারি। আমাদের অ্যাপ্লিকেশনটির মৌলিক কার্যকারিতা হবে ওপেনসিভি ব্যবহার করে ওয়েব ক্যামেরা (যদি সম্ভব হয়) খোলা। সুতরাং, প্রতিটি ক্যাপচার করা ফ্রেম প্রদর্শন করতে, আমরা পাইথন পিলো (পিআইএল) প্যাকেজ ব্যবহার করতে পারি যা ফ্রেমটিকে একটি ছবিতে রূপান্তর করে। চিত্রটি এখন একটি লেবেল উইজেটে ব্যবহার করা যেতে পারে যা বারবার উইন্ডোতে প্রতিটি ক্যাপচার করা ফ্রেম প্রদর্শন করে৷
উদাহরণ
# Import required Libraries from tkinter import * from PIL import Image, ImageTk import cv2 # Create an instance of TKinter Window or frame win= Tk() # Set the size of the window win.geometry("700x350")# Create a Label to capture the Video frames label =Label(win) label.grid(row=0, column=0) cap= cv2.VideoCapture(0) # Define function to show frame def show_frames(): # Get the latest frame and convert into Image cv2image= cv2.cvtColor(cap.read()[1],cv2.COLOR_BGR2RGB) img = Image.fromarray(cv2image) # Convert image to PhotoImage imgtk = ImageTk.PhotoImage(image = img) label.imgtk = imgtk label.configure(image=imgtk) # Repeat after an interval to capture continiously label.after(20, show_frames) show_frames() win.mainloop()ক্যাপচার করতে একটি বিরতির পরে পুনরাবৃত্তি করুন
আউটপুট
যখন আমরা উপরের কোডটি কার্যকর করি, তখন এটি একটি উইন্ডো প্রদর্শন করবে যা ফ্রেমগুলি ক্যাপচার করতে ব্যবহারকারীর ক্যামেরাটি খোলে৷