PythonOpenCV-图形用户界面-使用跟踪栏
跟踪栏是OpenCV为图像窗口提供的交互工具。用户可以通过跟踪栏中的滑块位置获取特定范围内的值,从而为进行其他操作提供参数。
1. 创建跟踪栏
函数原型
cv2.createTrackbar(trackbarname, wname, value, count, onChange, userdata)
参数说明
trackbarname:跟踪栏名称
wname:图像窗口名称
value:滑块的初始位置
count:跟踪栏的最大值,最小值为0
onChange:回调函数名称
userdata:其他可选数据
2. 返回跟踪栏当前值函数
函数原型
retval = cv2.getTrackbarPos(trackbarname, wname)
参数说明
trackbarname:跟踪栏名称
wname:图像窗口名称
3. 代码示例
import cv2 as cv import numpy as np img = np.zeros((200, 320, 3), np.uint8)+255 # 创建白色背景图 # 定义跟踪栏回调函数 def doChange(x): b = cv.getTrackbarPos('B', 'trackbar') g = cv.getTrackbarPos('G', 'trackbar') r = cv.getTrackbarPos('R', 'trackbar') img[:] = [b, g, r] # 修改图像RGB值 cv.namedWindow('trackbar') cv.createTrackbar('B', 'trackbar', 0, 255,doChange) # 创建跟踪栏 cv.createTrackbar('G', 'trackbar', 0, 255,doChange) cv.createTrackbar('R', 'trackbar', 0, 255,doChange) while True: cv.imshow("trackbar", img) key = cv.waitKey(1) if key == 27: # 按下【Esc】键退出 break cv.destroyAllWindows()
运行结果
/*-------------------------------------------------------------------------------------------------------
笔者说明:
该笔记来源于本人学习Python + OpenCv时的资料,
分享出来只是为了供大家学习,并且为了自己以后想要用的时候方便寻找。
时间:2023年4月15日
------------------------------------------------------------------------------------------------------------*/