OpenCV एक Python लाइब्रेरी है जिसका उपयोग कंप्यूटर विजन और अन्य कृत्रिम कलाकृतियों के साथ काम करने के लिए किया जाता है। OpenCV में इनबिल्ट फंक्शन और मेथड हैं जो आर्टिफिशियल इंटेलिजेंस और मशीन लर्निंग में कंप्यूटर विजन के साथ काम करने के लिए पहुंच प्रदान करते हैं। OpenCV के कुछ उदाहरण हैं: फेस डिटेक्शन, ऑब्जेक्ट डिटेक्शन, X-ray और अन्य औद्योगिक उपयोग।
Tkinter लाइब्रेरी का उपयोग करके, हम एक इंटरैक्टिव एप्लिकेशन बना सकते हैं जो एप्लिकेशन के आवश्यक भाग के रूप में OpenCV का उपयोग करता है।
एप्लिकेशन बनाने के लिए, आपको अपने लोकल मशीन में OpenCV इंस्टॉल करना होगा और सुनिश्चित करना होगा कि Python Pillow पैकेज प्री-इंस्टॉल है। आप नोटबुक में निम्न कमांड टाइप करके इन पैकेज को इंस्टॉल कर सकते हैं।
pip install open-cv pip install Pillow
एक बार इंस्टॉलेशन पूरा हो जाने पर, हम एप्लिकेशन की संरचना और GUI बनाना शुरू कर सकते हैं। हमारे एप्लिकेशन की बुनियादी कार्यक्षमता OpenCV का उपयोग करके वेब कैमरा खोलना होगा (यदि संभव हो)। तो, प्रत्येक कैप्चर किए गए फ्रेम को प्रदर्शित करने के लिए, हम Python Pillow (PIL) पैकेज का उपयोग कर सकते हैं जो फ्रेम को एक इमेज में बदल देता है। अब इमेज का उपयोग एक लेबल विजेट में किया जा सकता है जो विंडो में प्रत्येक कैप्चर किए गए फ्रेम को पुनरावृत्त रूप से प्रदर्शित करता है।
उदाहरण
# आवश्यक लाइब्रेरी इम्पोर्ट करें
from tkinter import *
from PIL import Image, ImageTk
import cv2
# TKinter विंडो या फ्रेम का इंस्टेंस बनाएं
win = Tk()
# विंडो का आकार सेट करें
win.geometry("700x350")
# वीडियो फ्रेम कैप्चर करने के लिए एक लेबल बनाएं
label = Label(win)
label.grid(row=0, column=0)
cap = cv2.VideoCapture(0)
# फ्रेम दिखाने के लिए फंक्शन परिभाषित करें
def show_frames():
# नवीनतम फ्रेम प्राप्त करें और इमेज में बदलें
cv2image = cv2.cvtColor(cap.read()[1], cv2.COLOR_BGR2RGB)
img = Image.fromarray(cv2image)
# इमेज को PhotoImage में बदलें
imgtk = ImageTk.PhotoImage(image=img)
label.imgtk = imgtk
label.configure(image=imgtk)
# लगातार कैप्चर करने के लिए अंतराल के बाद दोहराएं
label.after(20, show_frames)
show_frames()
win.mainloop()आउटपुट
जब हम उपरोक्त कोड निष्पादित करते हैं, तो यह एक विंडो प्रदर्शित करेगा जो यूजर कैमरा को फ्रेम कैप्चर करने के लिए खोलता है।
