【OpenCv-Python】五、Trackbar as the Color Palette
2018-01-11 09:49
651 查看
用滑动条做调色板
目标
5.1 代码示例
现在我们来创建一个简单的程:通过调节滑动条来设定画板颜色。我们要创建一个窗口来显示颜色,还有三个滑动条来设置B,G,R的颜色。当我们滑动滚动条时窗口的颜色也会发生相应改变。默认情况下,窗口的起始颜色为黑色。cv2.getTrackbarPos()函数的一个参数时滑动条的名字,第二个参数时滑动条被放置窗口的名字,第三个参数时滑动条的默认位置,第四个参数是滑动条的最大值,第五个函数是回调函数,每次滑动条的滑动都会调用回调函数。回调函数通常会有一个默认参数,就是滑动条的位置。在本例子中函数不需要做任何事情,我们在函数中只写 pass 就可以了。
滑动条的另外一个重要应用就是用作转换按钮。默认情况下 OpenCv 本身不带有按钮函数。所以我们使用滑动条来代替。在我们的程序中,我们要创建一个转换按钮,只有当转换按钮只想ON时,滑动条才有用,否则窗口都是黑的。
import cv2 import numpy as np def nothing(x): pass # 创建一个黑色图像,一个名为‘image’的窗口 img = np.zeros((300,512,3), np.uint8) cv2.namedWindow('image') # 为每个颜色创建滑动条 cv2.createTrackbar('R','image',0,255,nothing) cv2.createTrackbar('G','image',0,255,nothing) cv2.createTrackbar('B','image',0,255,nothing) # 创建一个转换按钮 switch = '0 : OFF \n1 : ON' cv2.createTrackbar(switch, 'image',0,1,nothing) while(1): cv2.imshow('image',img) k = cv2.waitKey(1) & 0xFF if k == 27: break # get current positions of four trackbars r = cv2.getTrackbarPos('R','image') g = cv2.getTrackbarPos('G','image') b = cv2.getTrackbarPos('B','image') s = cv2.getTrackbarPos(switch,'image') if s == 0: img[:] = 0 else: img[:] = [b,g,r] cv2.destroyAllWindows()
练习
1.结合上一节的知识,创建一个画板,可以选择各种颜色的画笔画各种图形。相关文章推荐
- 5-Trackbar+as+the+Color+Palette
- OpenCV 滑动条Trackbar C/C++/Python
- Make status bar the same color as activity's top color
- OpenCV-Python Trackbar
- opencv对比度及亮度,createTrackbar
- 怎样控制Qt标题栏(How can I handle events in the titlebar and change its color etc ? )
- Opencv- createTrackbar()
- 怎样控制Qt标题栏(How can I handle events in the titlebar and change its color etc ? )
- Python is not installed as a framework. The Mac OS X backend will not be a
- python实现pat 1054. The Dominant Color (20)
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- opencv中伪彩色applyColorMap函数(C++ / Python)
- color the python console text
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- OpenCV学习:创建Trackbar & 图像对比度、亮度值调整
- 【OpenCV入门教程之六】 创建Trackbar & 图像对比度、亮度值调整
- opencv中伪彩色applyColorMap函数(C++ / Python)