User Interface

CreateTrackbar

Comments from the Wiki

CreateTrackbar(trackbarName, windowName, value, count, onChange) → None

Creates a trackbar and attaches it to the specified window

Parameters:
  • trackbarName (str) – Name of the created trackbar.
  • windowName (str) – Name of the window which will be used as a parent for created trackbar.
  • value (int) – Initial value for the slider position, between 0 and count .
  • count (int) – Maximal position of the slider. Minimal position is always 0.
  • onChange (PyCallableObject) – OpenCV calls onChange every time the slider changes position. OpenCV will call it as func(x) where x is the new position of the slider.

The function cvCreateTrackbar creates a trackbar (a.k.a. slider or range control) with the specified name and range, assigns a variable to be syncronized with trackbar position and specifies a callback function to be called on trackbar position change. The created trackbar is displayed on the top of the given window. [Qt Backend Only] qt-specific details:

  • windowName Name of the window which will be used as a parent for created trackbar. Can be NULL if the trackbar should be attached to the control panel.

The created trackbar is displayed at the bottom of the given window if windowName is correctly provided, or displayed on the control panel if windowName is NULL.

By clicking on the label of each trackbar, it is possible to edit the trackbar’s value manually for a more accurate control of it.

DestroyAllWindows

Comments from the Wiki

DestroyAllWindows() → None

Destroys all of the HighGUI windows.

The function cvDestroyAllWindows destroys all of the opened HighGUI windows.

DestroyWindow

Comments from the Wiki

DestroyWindow(name) → None

Destroys a window.

Parameters:
  • name (str) – Name of the window to be destroyed.

The function cvDestroyWindow destroys the window with the given name.

GetTrackbarPos

Comments from the Wiki

GetTrackbarPos(trackbarName, windowName) → None

Returns the trackbar position.

Parameters:
  • trackbarName (str) – Name of the trackbar.
  • windowName (str) – Name of the window which is the parent of the trackbar.

The function cvGetTrackbarPos returns the current position of the specified trackbar. [Qt Backend Only] qt-specific details:

  • windowName Name of the window which is the parent of the trackbar. Can be NULL if the trackbar is attached to the control panel.

MoveWindow

Comments from the Wiki

MoveWindow(name, x, y) → None

Sets the position of the window.

Parameters:
  • name (str) – Name of the window to be moved.
  • x (int) – New x coordinate of the top-left corner
  • y (int) – New y coordinate of the top-left corner

The function cvMoveWindow changes the position of the window.

NamedWindow

Comments from the Wiki

NamedWindow(name, flags=CV_WINDOW_AUTOSIZE) → None

Creates a window.

Parameters:
  • name (str) – Name of the window in the window caption that may be used as a window identifier.
  • flags (int) – Flags of the window. Currently the only supported flag is CV_WINDOW_AUTOSIZE . If this is set, window size is automatically adjusted to fit the displayed image (see ShowImage ), and the user can not change the window size manually.

The function cvNamedWindow creates a window which can be used as a placeholder for images and trackbars. Created windows are referred to by their names.

If a window with the same name already exists, the function does nothing. [Qt Backend Only] qt-specific details:

  • flags Flags of the window. Currently the supported flags are:

    • CV_WINDOW_NORMAL or CV_WINDOW_AUTOSIZE: CV_WINDOW_NORMAL let the user resize the window, whereas CV_WINDOW_AUTOSIZE adjusts automatically the window’s size to fit the displayed image (see ShowImage ), and the user can not change the window size manually.
    • CV_WINDOW_FREERATIO or CV_WINDOW_KEEPRATIO: CV_WINDOW_FREERATIO adjust the image without respect the its ration, whereas CV_WINDOW_KEEPRATIO keep the image’s ratio.
    • CV_GUI_NORMAL or CV_GUI_EXPANDED: CV_GUI_NORMAL is the old way to draw the window without statusbar and toolbar, whereas CV_GUI_EXPANDED is the new enhance GUI.

    This parameter is optional. The default flags set for a new window are CV_WINDOW_AUTOSIZE , CV_WINDOW_KEEPRATIO , and CV_GUI_EXPANDED .

    However, if you want to modify the flags, you can combine them using OR operator, ie:

    cvNamedWindow( ``myWindow'',  ``CV_WINDOW_NORMAL``   textbar   ``CV_GUI_NORMAL`` );

ResizeWindow

Comments from the Wiki

ResizeWindow(name, width, height) → None

Sets the window size.

Parameters:
  • name (str) – Name of the window to be resized.
  • width (int) – New width
  • height (int) – New height

The function cvResizeWindow changes the size of the window.

SetMouseCallback

Comments from the Wiki

SetMouseCallback(windowName, onMouse, param) → None

Assigns callback for mouse events.

Parameters:
  • windowName (str) – Name of the window.
  • onMouse (PyCallableObject) – Callable to be called every time a mouse event occurs in the specified window. This callable should have signature `` Foo(event, x, y, flags, param)-> None `` where event is one of CV_EVENT_* , x and y are the coordinates of the mouse pointer in image coordinates (not window coordinates), flags is a combination of CV_EVENT_FLAG_* , and param is a user-defined parameter passed to the cvSetMouseCallback function call.
  • param (object) – User-defined parameter to be passed to the callback function.

The function cvSetMouseCallback sets the callback function for mouse events occuring within the specified window.

The event parameter is one of:

  • CV_EVENT_MOUSEMOVE Mouse movement
  • CV_EVENT_LBUTTONDOWN Left button down
  • CV_EVENT_RBUTTONDOWN Right button down
  • CV_EVENT_MBUTTONDOWN Middle button down
  • CV_EVENT_LBUTTONUP Left button up
  • CV_EVENT_RBUTTONUP Right button up
  • CV_EVENT_MBUTTONUP Middle button up
  • CV_EVENT_LBUTTONDBLCLK Left button double click
  • CV_EVENT_RBUTTONDBLCLK Right button double click
  • CV_EVENT_MBUTTONDBLCLK Middle button double click

The flags parameter is a combination of :

  • CV_EVENT_FLAG_LBUTTON Left button pressed
  • CV_EVENT_FLAG_RBUTTON Right button pressed
  • CV_EVENT_FLAG_MBUTTON Middle button pressed
  • CV_EVENT_FLAG_CTRLKEY Control key pressed
  • CV_EVENT_FLAG_SHIFTKEY Shift key pressed
  • CV_EVENT_FLAG_ALTKEY Alt key pressed

SetTrackbarPos

Comments from the Wiki

SetTrackbarPos(trackbarName, windowName, pos) → None

Sets the trackbar position.

Parameters:
  • trackbarName (str) – Name of the trackbar.
  • windowName (str) – Name of the window which is the parent of trackbar.
  • pos (int) – New position.

The function cvSetTrackbarPos sets the position of the specified trackbar. [Qt Backend Only] qt-specific details:

  • windowName Name of the window which is the parent of trackbar. Can be NULL if the trackbar is attached to the control panel.

ShowImage

Comments from the Wiki

ShowImage(name, image) → None

Displays the image in the specified window

Parameters:
  • name (str) – Name of the window.
  • image (CvArr) – Image to be shown.

The function cvShowImage displays the image in the specified window. If the window was created with the CV_WINDOW_AUTOSIZE flag then the image is shown with its original size, otherwise the image is scaled to fit in the window. The function may scale the image, depending on its depth:

  • If the image is 8-bit unsigned, it is displayed as is.
  • If the image is 16-bit unsigned or 32-bit integer, the pixels are divided by 256. That is, the value range [0,255*256] is mapped to [0,255].
  • If the image is 32-bit floating-point, the pixel values are multiplied by 255. That is, the value range [0,1] is mapped to [0,255].

WaitKey

Comments from the Wiki

WaitKey(delay=0) → int

Waits for a pressed key.

Parameters:
  • delay (int) – Delay in milliseconds.

The function cvWaitKey waits for key event infinitely ( \texttt{delay} <= 0 ) or for delay milliseconds. Returns the code of the pressed key or -1 if no key was pressed before the specified time had elapsed.

Note: This function is the only method in HighGUI that can fetch and handle events, so it needs to be called periodically for normal event processing, unless HighGUI is used within some environment that takes care of event processing. [Qt Backend Only] qt-specific details: With this current Qt implementation, this is the only way to process event such as repaint for the windows, and so on ldots