opencv_python学习(六)----Trackbar动态修改参数
此系列文章全是于贾志刚老师b站opencv学习课程笔记
一、函数cv2.createTrackbar()
功能:
绑定滑动条和窗口,定义滚动条的数值
语法:
cv2.createTrackbar(“scale”, “display”, 0, 100, self.opencv_calibration_node.on_scale)
- 第一个参数时滑动条的名字,
- 第二个参数是滑动条被放置的窗口的名字,
- 第三个参数是滑动条默认值, 第四个参数时滑动条的最大值,
- 第五个参数时回调函数,每次滑动都会调用回调函数。
二、函数cv2.getTrackbarPos()
功能:
返回当前滑动条的数值
语法:
cv2.getTrackbarPos(“scale”,“display”)
- 第一个参数是滑动条名字,
- 第二个时所在窗口,
- 返回值是滑动条的数值。
三、函数cv2.setTrackbarPos()
功能:
设置滑动条的默认值
语法:
cv2.setTrackbarPos(‘Alpha’, ‘image’, 100)
- 第一个参数是滑动条名字,
- 第二个时所在窗口,
- 第三个参数是滑动条默认值,
四、一个demo
import numpy as py
import cv2 as cv
def prt(x):
print(x)
def trackbar_lightness_demo():
image = cv.imread('路径')
blank = np.zeros_like(image)
cv.namedWindow('result',cv.WINDOW_AUTOSIZE)
cv.createTrackbar('lightness','result',0,100,prt)
while True:
pos = cv.getTrackbarPos('lightness','result')
blank[:,:] = (pos,pos,pos)
result = cv.add(image,blank)
cv.imshow('blank', blank)
cv.imshow('result', result)
c = cv.waitKey(1)
if c ==27:
break
cv.destroyAllWindows()
if __name__ == '__main__':
trackbar_lightness_demo()
|