Bird
Raised Fist0
Raspberry Piprogramming~5 mins

Motion detection with camera in Raspberry Pi - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the basic idea behind motion detection using a camera on Raspberry Pi?
It involves capturing images or video frames and comparing them over time to find changes that indicate movement.
Click to reveal answer
beginner
Which Python library is commonly used for image processing in Raspberry Pi motion detection projects?
OpenCV (cv2) is widely used because it provides tools to capture video and detect changes between frames.
Click to reveal answer
beginner
Why do we convert images to grayscale in motion detection?
Grayscale simplifies the image data by removing color, making it easier and faster to compare frames for changes.
Click to reveal answer
intermediate
What role does thresholding play in motion detection?
Thresholding helps to highlight significant differences between frames by turning small changes into black or white pixels, making motion easier to detect.
Click to reveal answer
intermediate
How can Raspberry Pi notify you when motion is detected?
It can send alerts like emails, sound alarms, or save images/videos when motion is detected.
Click to reveal answer
What is the first step in motion detection using a camera on Raspberry Pi?
ACapture video frames
BSend an alert
CTurn on an alarm
DSave images
Why do we compare consecutive frames in motion detection?
ATo improve image quality
BTo change colors
CTo find differences that show movement
DTo save storage space
Which format simplifies image data for faster processing in motion detection?
AGrayscale
BRGB color
CCMYK
DPNG
What does thresholding do in motion detection?
AIncreases frame rate
BBlurs the image
CConverts video to audio
DHighlights significant changes between frames
How can Raspberry Pi alert you when motion is detected?
ARestart the system
BSend an email or sound an alarm
CTurn off the camera
DChange the wallpaper
Explain the main steps involved in detecting motion with a Raspberry Pi camera.
Think about how images are processed and how changes are found.
You got /6 concepts.
    Describe how thresholding helps in motion detection and why it is important.
    Consider how small changes become easier to spot.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of motion detection when using a camera on a Raspberry Pi?
      easy
      A. To increase the camera resolution automatically
      B. To find changes between consecutive images
      C. To save battery life of the Raspberry Pi
      D. To connect the camera to the internet

      Solution

      1. Step 1: Understand motion detection basics

        Motion detection works by comparing images to find differences or changes.
      2. Step 2: Identify the main goal of motion detection

        The goal is to detect movement by noticing changes between frames, not to change resolution or save power.
      3. Final Answer:

        To find changes between consecutive images -> Option B
      4. Quick Check:

        Motion detection = find changes [OK]
      Hint: Motion detection means spotting changes between pictures [OK]
      Common Mistakes:
      • Confusing motion detection with camera settings
      • Thinking motion detection saves power
      • Assuming it connects camera to internet
      2. Which of the following Python code snippets correctly imports OpenCV for motion detection on Raspberry Pi?
      easy
      A. import camera
      B. import opencv
      C. import cv
      D. import cv2

      Solution

      1. Step 1: Recall the correct OpenCV import statement

        OpenCV in Python is imported using 'import cv2'.
      2. Step 2: Check other options for correctness

        Options 'opencv', 'cv', and 'camera' are incorrect or outdated module names.
      3. Final Answer:

        import cv2 -> Option D
      4. Quick Check:

        OpenCV import = cv2 [OK]
      Hint: OpenCV Python module is always imported as cv2 [OK]
      Common Mistakes:
      • Using 'import opencv' instead of 'import cv2'
      • Confusing 'cv' with 'cv2'
      • Trying to import 'camera' module for OpenCV
      3. What will be the output of this code snippet when motion is detected?
      import cv2
      cap = cv2.VideoCapture(0)
      ret, frame1 = cap.read()
      ret, frame2 = cap.read()
      diff = cv2.absdiff(frame1, frame2)
      gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY)
      _, thresh = cv2.threshold(gray, 30, 255, cv2.THRESH_BINARY)
      print(thresh.sum() > 10000)
      medium
      A. True if motion detected, False otherwise
      B. Always prints True
      C. Always prints False
      D. Raises a syntax error

      Solution

      1. Step 1: Understand the code logic for motion detection

        The code compares two frames, converts difference to grayscale, thresholds it, then sums pixels to detect motion.
      2. Step 2: Interpret the print statement

        If the sum of thresholded pixels is greater than 10000, it prints True (motion detected), else False.
      3. Final Answer:

        True if motion detected, False otherwise -> Option A
      4. Quick Check:

        Threshold sum > 10000 means motion True [OK]
      Hint: Sum of thresholded diff > limit means motion detected [OK]
      Common Mistakes:
      • Assuming it always prints True or False
      • Confusing thresholding with color conversion
      • Expecting syntax errors from correct code
      4. Identify the error in this motion detection code snippet:
      import cv2
      cap = cv2.VideoCapture(0)
      ret, frame1 = cap.read()
      ret, frame2 = cap.read()
      diff = cv2.absdiff(frame1, frame2)
      gray = cv2.cvtColor(diff, cv2.COLOR_BGR2GRAY)
      _, thresh = cv2.threshold(gray, 30, 255, cv2.THRESH_BINARY)
      if thresh.sum() > 10000:
          print("Motion detected")
      cap.release()
      medium
      A. Missing loop to continuously read frames
      B. Incorrect threshold value used
      C. cv2.absdiff should be cv2.subtract
      D. cap.release() should be called before reading frames

      Solution

      1. Step 1: Check code flow for continuous motion detection

        The code reads frames only once, so it cannot detect motion continuously.
      2. Step 2: Identify missing loop for repeated frame capture

        Motion detection requires a loop to keep reading frames and comparing them over time.
      3. Final Answer:

        Missing loop to continuously read frames -> Option A
      4. Quick Check:

        Continuous detection needs a loop [OK]
      Hint: Motion detection needs a loop to compare frames repeatedly [OK]
      Common Mistakes:
      • Thinking threshold value is wrong
      • Confusing absdiff with subtract
      • Releasing capture too early
      5. You want to trigger an alert only when motion is detected for at least 3 seconds continuously using a Raspberry Pi camera. Which approach is best?
      hard
      A. Use a timer to trigger alert every 3 seconds regardless of motion
      B. Trigger alert immediately on first motion detection
      C. Count consecutive frames with motion and trigger alert after threshold
      D. Ignore motion and trigger alert manually

      Solution

      1. Step 1: Understand the requirement for continuous motion detection

        We need to detect motion lasting at least 3 seconds, not just a single frame.
      2. Step 2: Choose method to track motion duration

        Counting consecutive frames with motion and triggering alert after reaching a threshold time is the best approach.
      3. Final Answer:

        Count consecutive frames with motion and trigger alert after threshold -> Option C
      4. Quick Check:

        Continuous motion needs counting frames [OK]
      Hint: Count frames with motion to confirm duration before alert [OK]
      Common Mistakes:
      • Triggering alert immediately on any motion
      • Using timer without checking motion
      • Ignoring motion detection logic
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard