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()

Выход:

Пример 2. Окно вывода

Пример 2 Консольный вывод