OpenCV I_08用滑动条做调色板
来源:互联网 发布:防破解网络验证 编辑:程序博客网 时间:2024/06/13 11:52
目标
• 学会把滑动条绑定到 OpenCV 的窗口• 你将会学习这些函数:cv2.getTrackbarPos(),cv2.creatTrackbar()
等。
代码示例
现在我们来创建一个简单的程序:通过调节滑动条来设定画板颜色。我们要创建一个窗口来显示显色,还有三个滑动条来设置 B,G,R 的颜色。当我们
滑动滚动条是窗口的颜色也会发生相应改变。默认情况下窗口的起始颜色为黑。
cv2.getTrackbarPos() 函数的一个参数是滑动条的名字,第二个参数
是滑动条被放置窗口的名字,第三个参数是滑动条的默认位置。第四个参数是
滑动条的最大值,第五个函数是回调函数,每次滑动条的滑动都会调用回调函
数。回调函数通常都会含有一个默认参数,就是滑动条的位置。在本例中这个
函数不用做任何事情,我们只需要 pass 就可以了。
滑动条的另外一个重要应用就是用作转换按钮。默认情况下 OpenCV 本
身不带有按钮函数。所以我们使用滑动条来代替。在我们的程序中,我们要创
建一个转换按钮,只有当装换按钮指向 ON 时,滑动条的滑动才有用,否则窗
户口都是黑的。
代码:
'''函数:cv2.getTrackbarPos(),cv2.createTrackbar()'''import cv2import numpy as np # 结合上一节的知识,创建一个画板,可以自选各种颜色的画笔绘画各种图形。def nothing(x):passdrawing = Falsemode = Trueix,iy = -1,-1def draw_circle(event,x,y,flags,param):r = cv2.getTrackbarPos('R','image')g = cv2.getTrackbarPos('G','image')b = cv2.getTrackbarPos('B','image')color = (b,g,r)global ix,iy,drawing,modeif event == cv2.EVENT_LBUTTONDOWN:drawing = Trueix,iy = x,yelif event==cv2.EVENT_MOUSEMOVE and flags==cv2.EVENT_FLAG_LBUTTON:if drawing == True:if mode == True:cv2.rectangle(img,(ix,iy),(x,y),color,-1)else:cv2.circle(img,(x,y),2,color,-1)elif event == cv2.EVENT_LBUTTONUP:drawing == Falseimg = cv2.imread('PIC/000.jpg')cv2.namedWindow('image')cv2.createTrackbar('R','image',0,255,nothing)cv2.createTrackbar('G','image',0,255,nothing)cv2.createTrackbar('B','image',0,255,nothing)cv2.setMouseCallback('image',draw_circle)while (1):cv2.imshow('image',img)k = cv2.waitKey(1) if k == ord('m'):mode = not modeelif k == ord('q'):breakcv2.destroyAllWindows()
运行结果:
按q退出程序
0 0
- OpenCV I_08用滑动条做调色板
- opencv for pyhton (5) 用滑动条做调色板
- opencv学习——滑动条做调色板
- opencv-python(4):用滑动条作调色板
- opencv做调色板(python)
- 图像处理7:滑动条调色板
- OPENCV图像处理基础(四)用滑动条做一个按钮
- opencv 滑动条 cvCreateTrackbar()
- Opencv 创建滑动条
- OpenCV之滑动条
- opencv:slider(滑动条)
- opencv:创建滑动条
- python opencv入门 滚动条控制调色板(5)
- opencv之滑动条详解
- opencv创建createTrackbar滑动条
- opencv--鼠标与滑动条
- OpenCV的滑动条使用
- Opencv-滑动条的使用
- JAVA_界面_更新
- 如何在Ubuntu上运行.run文件
- 关于java后台转发jsp到easyUI tabs标签里 css js出现404问题
- 五、自定义SpringMVC的Http信息转化器
- Android基础之Sqlite
- OpenCV I_08用滑动条做调色板
- C语言的强制类型转化总结
- Linux与Windows文件系统的差异比较
- [USACO]完美的牛栏
- a
- 蓝桥杯vip练习 Huffman树
- Leftmost Digit
- SharePoint 2013 ECB 自定义扩展菜单
- ACM 兄弟郊游问题