Python OpenCV — функция getWindowImageRect()
Опубликовано: 14 Декабря, 2022
Функция Python OpenCV getWindowImageRect() возвращает координаты экрана клиента, а также ширину и высоту окна, содержащего изображение.
Синтаксис cv2.getWindowImageRect()
Syntax: cv2.getWindowImageRect(window_name)
Parameter:
- window_name – Name of the window displaying image/video
Return: return a tuple of x, y, w, h(Set of four integers including the coordinates & size of rectangle)with window name.
Изображение для демонстрации:
Пример 1: Получить размер окна по умолчанию с помощью getWindowImageRect() Python
- В указанном коде импортирована библиотека Python OpenCV. В переменной path хранится путь к файлу изображения с локальной машины.
- Метод imread() используется в режиме по умолчанию для загрузки данного файла из пути в переменную изображения.
- Чтобы использовать функцию getWindowImageRect(), нам нужно сначала создать окно, используя метод namedWindow(), и используется значение флага по умолчанию.
- Размеры и координаты, возвращаемые функцией getWindowImageRect() созданного окна, выводятся на консоль. Возвращаемые значения также могут быть присвоены отдельно и распечатаны.
- Созданное окно отображается пользователю с помощью метода imshow(). По истечении времени ожидания (здесь 0 мс) пользователь может уничтожить все окна, нажав любую клавишу на клавиатуре.
Python3
# Importing OpenCV import cv2 # Path to image path = "C:/Users/Amisha Kirti/Downloads/GFG.png" # Reading an image in default mode image = cv2.imread(path) # Creating window with name "Display1" # of default size cv2.namedWindow( "Display1" , cv2.WINDOW_AUTOSIZE) # Using getWindowImageRect() print (cv2.getWindowImageRect( "Display1" )) # Assigning the returned values to variables (x, y, windowWidth, windowHeight) = cv2. getWindowImageRect( "Display1" ) """ We can also assign values to variables by accessing returned value by index x = cv2.getWindowImageRect("Display1")[0] y = cv2.getWindowImageRect("Display1")[1] windowWidth=cv2.getWindowImageRect("Display1")[2] windowHeight=cv2.getWindowImageRect("Display1")[3] """ print ( "Origin Coordinates(x,y): " , x, y) print ( "Width: " , windowWidth) print ( "Height: " , windowHeight) # Displaying the image using imshow cv2.imshow( "Display1" , image) # Waiting 0ms for user to press any key cv2.waitKey( 0 ) # Destroying all windows open on screen cv2.destroyAllWindows() |
Выход:
Пример 2: Получить полноэкранный размер окна с помощью getWindowImageRect() Python
Эта функция помогает нам получить точное количество пикселей окна, в котором отображается изображение.
- Можно создать окно в полноэкранном режиме и получить его ширину и высоту
- Чтобы использовать функцию getWindowImageRect(), нам нужно сначала создать окно, используя метод namedWindow(). В этом примере используется значение флага WINDOW_FULLSCREEN или WINDOW_NORMAL.
Python3
# Importing OpenCV import cv2 # Path to image [NOTE: Here resized image # is used to be able to fit to screen] path = "download3.png" # Reading an image in default mode image = cv2.imread(path) # Creating a full screen window with # name "Display2" using WINDOW_FULLSCREEN # or WINDOW_NORMAL cv2.namedWindow( "Display2" , cv2.WINDOW_NORMAL) # Using getWindowImageRect() print (cv2.getWindowImageRect( "Display2" )) # Assigning the returned values to variables (x, y, windowWidth, windowHeight) = cv2. getWindowImageRect( "Display2" ) print ( "Origin Coordinates(x,y): " , x, y) print ( "Width: " , windowWidth) print ( "Height: " , windowHeight) # Displaying the image using imshow cv2.imshow( "Display2" , image) # Waiting 0ms for user to press any key cv2.waitKey( 0 ) # Destroying all created windows # open on screen cv2.destroyAllWindows() |
Выход: