OpenCV也有与PYQT类似的小部件,例如滑块slider。OpenCV可以用与PYQT类似的“信号与槽”方法,也可以在函数中直接查询小部件的值。

import cv2
import numpy as np

cv2.namedWindow('Show1')
image = np.zeros((100, 400, 3), np.uint8)  # 创建一个空白内容的图像


def slot(Slider_value):  # 类似于PYQT的“槽函数”
    image[:] = [0, 0, 0]  # 清空图像
    cv2.putText(image, str(Slider_value), (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
    cv2.imshow('Show1', image)
    querying()


def querying():   # 查询的方式
    image[:] = [0, 0, 0]  # 清空图像
    Slider_value = cv2.getTrackbarPos('Slider', 'Show1') * 2
    cv2.putText(image, str(Slider_value), (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
    cv2.imshow('Show2', image)


cv2.createTrackbar('Slider', 'Show1', 1, 20, slot)  # 类似于PYQT的连接connect(),当Slider的值变化后,调用槽函数slot(),并传递Slider的值到槽函数

cv2.waitKey(0)
cv2.destroyAllWindows()

运行截图:

OpenCV的小部件最基本范例插图

OpenCV的小部件最基本范例插图(1)

本站无任何商业行为
个人在线分享 » OpenCV的小部件最基本范例
E-->