Automating Scrolling using PythonOpencv by Color Detection (original) (raw)

Last Updated : 03 Jan, 2023

Prerequisites:

It is possible to perform actions without actually giving any input through touchpad or mouse. This article discusses how this can be done using opencv module. Here we will use color detection to scroll screen. When a certain color is detected by the program during execution the screen starts to scroll on its own.

Approach

Below is the implementation.

Python3

import cv2

import numpy as np

import pyautogui

low_green = np.array([ 25 , 52 , 72 ])

high_green = np.array([ 102 , 255 , 255 ])

cap = cv2.VideoCapture( 0 )

prev_y = 0

while True :

`` ret, frame = cap.read()

`` hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

`` mask = cv2.inRange(hsv, low_green, high_green)

`` contours, hierarchy = cv2.findContours(

`` mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

`` for i in contours:

`` area = cv2.contourArea(i)

`` if area > 1000 :

`` x, y, w, h = cv2.boundingRect(i)

`` cv2.rectangle(frame, (x, y), (x + w, y + h), ( 0 , 255 , 0 ), 2 )

`` if y < prev_y:

`` pyautogui.press( 'space' )

`` prev_y = y

`` cv2.imshow( 'frame' , frame)

`` if cv2.waitKey( 1 ) = = ord ( 'q' ):

`` break

cap.release()

cap.closeAllWindow()

Input:

Detecting green color

https://media.geeksforgeeks.org/wp-content/uploads/20201231100220/op.mp4

Similar Reads

Projects for Beginners
























Projects for Intermediate


















Web Scraping












Automating boring Stuff Using Python

















Tkinter Projects



































Turtle Projects












OpenCV Projects

































Python Django Projects














Python Text to Speech and Vice-Versa