ronakreddy18 commited on
Commit
d5a490e
·
verified ·
1 Parent(s): 2b06fac

Update pages/LIFE_CYCLE_OF_MACHINE_LEARNING.py

Browse files
pages/LIFE_CYCLE_OF_MACHINE_LEARNING.py CHANGED
@@ -486,116 +486,127 @@ def Conversion_of_Images_page():
486
 
487
  #---------VIDEO CAPTURE AND EXPLANATION OF CV2.WAITKEY-----------
488
 
 
 
489
 
490
-
491
- def Video_capture_and_explanation_page():
492
- st.header("🎥 Video Capture with `cv2.VideoCapture()")
493
  st.markdown("""
494
  **Purpose**: Captures live video from a webcam or reads a video file using OpenCV.
495
 
496
- ### Syntax
497
- ```python
498
- cap = cv2.VideoCapture(source)
499
- source:
500
- 0: Refers to the default webcam (if you have one connected).
501
- 'video.mp4': The path to a video file (can be any supported video format like .mp4, .avi).
502
- Key Methods
503
- cap.read(): Captures a frame-by-frame video from the source.
504
 
505
- Returns:
506
- ret: A Boolean indicating whether the frame was read correctly (True if successful).
507
- frame: The captured frame, represented as a NumPy array (this can be processed or displayed).
508
- cap.release(): Releases the video source when you are done capturing. It frees up system resources and allows you to safely close the video capture device or file.
509
 
510
- Example
511
- Here’s an example that captures video from the default webcam and displays it:
 
 
512
 
513
- python
514
- Copy code
515
- import cv2
516
 
517
- # Open the default webcam (0)
518
- cap = cv2.VideoCapture(0)
519
 
520
- while cap.isOpened():
521
- ret, frame = cap.read() # Capture frame-by-frame
522
- if not ret:
523
- break # Exit if frame not read correctly
524
 
525
- cv2.imshow('Live Video', frame) # Display the frame
 
 
 
 
526
 
527
- # Wait for 1 ms and exit if 'q' is pressed
528
- if cv2.waitKey(1) & 0xFF == ord('q'):
529
- break
 
 
 
 
 
 
 
 
 
 
 
 
530
 
531
- cap.release() # Release the webcam
532
- cv2.destroyAllWindows() # Close all OpenCV windows
533
- How it Works:
534
- cv2.VideoCapture(0): Opens the default webcam (if available).
535
- cap.read(): Reads each frame from the video source.
536
- cv2.imshow('Live Video', frame): Displays each captured frame in a window.
537
- cap.release(): Releases the video capture object when done capturing frames.
538
- cv2.destroyAllWindows(): Closes all OpenCV windows to free up resources.
539
- """)
540
  ##----------##
541
 
542
- st.header("⏱️ cv2.waitKey() for Key Event Handling")
543
- st.markdown(""" Purpose:
544
- cv2.waitKey() is a key function used to handle keyboard events in OpenCV. It is commonly used to display images or video frames and wait for a user input.
545
-
546
- Syntax
547
- python
548
- Copy code
549
- cv2.waitKey(delay)
550
- delay:
551
- 0: Waits indefinitely until a key is pressed. This is useful when displaying images or video and you want to hold the display open until a key is pressed.
552
- 1: Waits for 1 millisecond. This is commonly used in real-time video streaming where the program keeps checking for user input every 1 millisecond.
553
- How it Works:
554
- cv2.waitKey(1): This line waits for a key press for 1 millisecond before checking if the user has pressed any key. If no key is pressed within that time, it proceeds to the next frame.
555
- Key Event: The function returns an integer value representing the ASCII code of the key pressed.
556
- For example, pressing the 'q' key returns 113 (the ASCII value for 'q').
557
- Example
558
- Here’s an example using cv2.waitKey() to exit the video capture loop when the 'q' key is pressed:
559
-
560
- python
561
- Copy code
562
- if cv2.waitKey(1) & 0xFF == ord('q'):
563
- break
564
- ord('q'): Converts the 'q' character to its ASCII value (113).
565
- & 0xFF: Masks the higher bits of the returned value to only check for the lower 8 bits, ensuring correct handling of the key press.
566
- Why is cv2.waitKey() Important?
567
- It helps manage user input while displaying images or videos.
568
- Without cv2.waitKey(), the OpenCV window would immediately close after displaying the image/video, and you would not be able to interact with it.
569
- It enables frame-by-frame processing in real-time video processing (such as live video capture or webcam feeds).
570
- Example in Context:
571
- python
572
- Copy code
573
- import cv2
574
-
575
- # Open the default webcam (0)
576
- cap = cv2.VideoCapture(0)
577
-
578
- while cap.isOpened():
579
- ret, frame = cap.read() # Capture frame-by-frame
580
- if not ret:
581
- break # Exit if frame not read correctly
582
-
583
- cv2.imshow('Webcam Feed', frame) # Display the frame
584
-
585
- # Wait for 1 ms and exit if 'q' is pressed
586
  if cv2.waitKey(1) & 0xFF == ord('q'):
587
  break
 
588
 
589
- cap.release() # Release the webcam
590
- cv2.destroyAllWindows() # Close all OpenCV windows
591
- Explanation:
592
- cv2.VideoCapture(0): Initializes the webcam.
593
- cap.read(): Captures each frame from the webcam.
594
- cv2.imshow('Webcam Feed', frame): Displays the captured frame.
595
- cv2.waitKey(1): Checks for key press every 1 millisecond. If the 'q' key is pressed, the loop breaks, and the webcam feed stops.
596
- cap.release(): Releases the webcam when done.
597
- cv2.destroyAllWindows(): Closes the OpenCV windows and cleans up resources.
598
- """)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
599
 
600
  ###------KEY POINTS -----###
601
 
 
486
 
487
  #---------VIDEO CAPTURE AND EXPLANATION OF CV2.WAITKEY-----------
488
 
489
+ def Video_capture_and_explanation_page():
490
+ st.header("🎥 Video Capture with `cv2.VideoCapture()`")
491
 
 
 
 
492
  st.markdown("""
493
  **Purpose**: Captures live video from a webcam or reads a video file using OpenCV.
494
 
495
+ ### Syntax
496
+ ```python
497
+ cap = cv2.VideoCapture(source)
498
+ source:
499
+ 0: Refers to the default webcam (if you have one connected).
500
+ 'video.mp4': The path to a video file (can be any supported video format like .mp4, .avi).
501
+ ```
 
502
 
503
+ Key Methods:
504
+ - cap.read(): Captures a frame-by-frame video from the source.
 
 
505
 
506
+ Returns:
507
+ - ret: A Boolean indicating whether the frame was read correctly (True if successful).
508
+ - frame: The captured frame, represented as a NumPy array (this can be processed or displayed).
509
+ - cap.release(): Releases the video source when you are done capturing. It frees up system resources and allows you to safely close the video capture device or file.
510
 
511
+ Example:
512
+ Here’s an example that captures video from the default webcam and displays it:
 
513
 
514
+ ```python
515
+ import cv2
516
 
517
+ # Open the default webcam (0)
518
+ cap = cv2.VideoCapture(0)
 
 
519
 
520
+ while cap.isOpened():
521
+ ret, frame = cap.read() # Capture frame-by-frame
522
+ if not ret:
523
+ break # Exit if frame not read correctly
524
+ cv2.imshow('Live Video', frame) # Display the frame
525
 
526
+ # Wait for 1 ms and exit if 'q' is pressed
527
+ if cv2.waitKey(1) & 0xFF == ord('q'):
528
+ break
529
+
530
+ cap.release() # Release the webcam
531
+ cv2.destroyAllWindows() # Close all OpenCV windows
532
+ ```
533
+
534
+ How it Works:
535
+ - cv2.VideoCapture(0): Opens the default webcam (if available).
536
+ - cap.read(): Reads each frame from the video source.
537
+ - cv2.imshow('Live Video', frame): Displays each captured frame in a window.
538
+ - cap.release(): Releases the video capture object when done capturing frames.
539
+ - cv2.destroyAllWindows(): Closes all OpenCV windows to free up resources.
540
+ """)
541
 
 
 
 
 
 
 
 
 
 
542
  ##----------##
543
 
544
+ st.header("⏱️ cv2.waitKey() for Key Event Handling")
545
+ st.markdown("""
546
+ Purpose:
547
+ cv2.waitKey() is a key function used to handle keyboard events in OpenCV. It is commonly used to display images or video frames and wait for a user input.
548
+
549
+ Syntax:
550
+ ```python
551
+ cv2.waitKey(delay)
552
+ ```
553
+
554
+ delay:
555
+ - 0: Waits indefinitely until a key is pressed. This is useful when displaying images or video and you want to hold the display open until a key is pressed.
556
+ - 1: Waits for 1 millisecond. This is commonly used in real-time video streaming where the program keeps checking for user input every 1 millisecond.
557
+
558
+ How it Works:
559
+ - cv2.waitKey(1): This line waits for a key press for 1 millisecond before checking if the user has pressed any key. If no key is pressed within that time, it proceeds to the next frame.
560
+ - Key Event: The function returns an integer value representing the ASCII code of the key pressed. For example, pressing the 'q' key returns 113 (the ASCII value for 'q').
561
+
562
+ Example:
563
+ Here’s an example using cv2.waitKey() to exit the video capture loop when the 'q' key is pressed:
564
+
565
+ ```python
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
566
  if cv2.waitKey(1) & 0xFF == ord('q'):
567
  break
568
+ ```
569
 
570
+ Explanation:
571
+ - ord('q'): Converts the 'q' character to its ASCII value (113).
572
+ - & 0xFF: Masks the higher bits of the returned value to only check for the lower 8 bits, ensuring correct handling of the key press.
573
+
574
+ Why is cv2.waitKey() Important?
575
+ - It helps manage user input while displaying images or videos.
576
+ - Without cv2.waitKey(), the OpenCV window would immediately close after displaying the image/video, and you would not be able to interact with it.
577
+ - It enables frame-by-frame processing in real-time video processing (such as live video capture or webcam feeds).
578
+
579
+ Example in Context:
580
+
581
+ ```python
582
+ import cv2
583
+
584
+ # Open the default webcam (0)
585
+ cap = cv2.VideoCapture(0)
586
+
587
+ while cap.isOpened():
588
+ ret, frame = cap.read() # Capture frame-by-frame
589
+ if not ret:
590
+ break # Exit if frame not read correctly
591
+
592
+ cv2.imshow('Webcam Feed', frame) # Display the frame
593
+
594
+ # Wait for 1 ms and exit if 'q' is pressed
595
+ if cv2.waitKey(1) & 0xFF == ord('q'):
596
+ break
597
+
598
+ cap.release() # Release the webcam
599
+ cv2.destroyAllWindows() # Close all OpenCV windows
600
+ ```
601
+
602
+ Explanation:
603
+ - cv2.VideoCapture(0): Initializes the webcam.
604
+ - cap.read(): Captures each frame from the webcam.
605
+ - cv2.imshow('Webcam Feed', frame): Displays the captured frame.
606
+ - cv2.waitKey(1): Checks for key press every 1 millisecond. If the 'q' key is pressed, the loop breaks, and the webcam feed stops.
607
+ - cap.release(): Releases the webcam when done.
608
+ - cv2.destroyAllWindows(): Closes the OpenCV windows and cleans up resources.
609
+ """)
610
 
611
  ###------KEY POINTS -----###
612