本文主要是介绍【Opencv-Python 官方教程】5.Trackbar调色板,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本节目标:
- 学会在opencv的显示窗口中绑定trackbar
- 将会学到以下几个函数:
cv2.getTrackbarPos(), cv2.createTrackbar()
原文地址:Trackbar as the Color Palette
Demo
我们将会建立一个简单的应用,显示我们指定的颜色。将会建立一个窗口,显示三个trackbar指定RGB三个颜色通道值。可以滑动trackbar来改变相应的颜色。默认情况下,初始颜色为黑色。
cv2.getTrackbarPos()
函数,第一个参数为trackbar名称,第二个参数为window的名称以指定该trackbar将会绑定到哪个窗口。第三个参数为trackbar的初始默认值,第四个参数为最大值,第五个参数为trackbar的回调函数(callback function),每一次trackbar值发生改变都会自动调用其指定的callback。callback函数中由默认由一个获取当前trackbar值得参数。本例中,我们的callback并没有什么操作。
trackbar的另一个重要的应用是用作开关或按钮。opencv默认并没有button功能。所以你可以使用trackbar实现按钮的功能,在我们的应用中,我们创建了一个开关(switch),我们的demo仅在swith为on的时候工作。
代码如下
import cv2
import numpy as npdef nothing(x):pass# 创建一个黑色背景图和一个窗口
img = np.zeros((300,512,3), np.uint8)
cv2.namedWindow('image')# 创建3个trackbar
cv2.createTrackbar('R','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)# 用trackbar创建一个开关
switch = r'0 : OFF \n 1 : ON'
cv2.createTrackbar(switch, 'image',0,1,nothing)while(1):cv2.imshow('image',img)k = cv2.waitKey(1)if k == 27:break# 获取当前trackbar的位置(值)r = cv2.getTrackbarPos('R','image')g = cv2.getTrackbarPos('G','image')b = cv2.getTrackbarPos('B','image')s = cv2.getTrackbarPos(switch,'image')if s == 0:img[:] = 0else:img[:] = [b,g,r]cv2.destroyAllWindows()
实验图如下
这篇关于【Opencv-Python 官方教程】5.Trackbar调色板的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!