1、API函数实现调色板
#!/usr/bin/env python3
# -*- coding:UTF8 -*-"""
学习使用函数cv2.getTrackbarPos()和cv2.createTrackbar()分别用来获取滑动条参数和创建滑动条。
cv2.getTrackbarPos()函数原型如下:
getTrackbarPos(trackbarname, winname) -> retval
cv2.creatTrackbar()函数原型如下:
createTrackbar(trackbarName, windowName, value, count, onChange) -> None
参数1 trackbarName:轨迹条名字
参数2 windowName:窗口名字
参数3 value:滑块初始位置
参数4 count:表示滑块达到最大位置的值
参数5 onChange:默认值为0,指向回调函数
"""import cv2 as cv
import numpy as np# 创建一张灰度图
img = np.ones((500, 500, 3), np.uint8) * 127def nothing(x):
passcv.namedWindow('image')
# 创建滑动条
cv.createTrackbar('R', 'image', 0, 255, nothing)
cv.createTrackbar('G', 'image', 0, 255, nothing)
cv.createTrackbar('B', 'image', 0, 255, nothing)while True:
R = cv.getTrackbarPos('R', 'image')
G = cv.getTrackbarPos('G', 'image')
B = cv.getTrackbarPos('B', 'image')
img[:] = [B, G, R]
cv.imshow('image', img)k = cv.waitKey(25) & 0xFF
if chr(k) == 'q':
break
cv.destroyWindow('image')
2、使用回调函数完成调色板
#!/usr/bin/env python3
# -*- coding:UTF8 -*-"""
学习使用函数cv2.getTrackbarPos()和cv2.createTrackbar()分别用来获取滑动条参数和创建滑动条。
cv2.getTrackbarPos()函数原型如下:
getTrackbarPos(trackbarname, winname) -> retval
cv2.creatTrackbar()函数原型如下:
createTrackbar(trackbarName, windowName, value, count, onChange) -> None
参数1 trackbarName:轨迹条名字
参数2 windowName:窗口名字
参数3 value:滑块初始位置
参数4 count:表示滑块达到最大位置的值
参数5 onChange:默认值为0,指向回调函数
"""import cv2 as cv
import numpy as np# 创建一张灰度图
img = np.zeros((500, 500, 3), np.uint8)# 蓝色通道滑动条回调函数
def BlueColorChange(blue):
global img
img[:, :, 0] = blue# 绿色通道滑动条回调函数
def GreenColorChange(green):
global img
img[:, :, 1] = green# 红色通道滑动条回调函数
def RedColorChange(red):
global img
img[:, :, 2] = redcv.namedWindow('image')
# 创建窗口和滑动条
cv.createTrackbar('R', 'image', 0, 255, RedColorChange)
cv.createTrackbar('G', 'image', 0, 255, GreenColorChange)
cv.createTrackbar('B', 'image', 0, 255, BlueColorChange)while True:
cv.imshow('image', img)# 循环显示图像k = cv.waitKey(25)# 当‘q’(对应ASCII码为113)按下时退出程序
if k == 113:
breakcv.destroyWindow('image')# 销毁所有窗口
【opencv——OpenCV中的滑动条】
推荐阅读
- 图像处理|Opencv学习笔记 透视变换(perspective transform)
- opencv|opencv学习笔记(七)几何变换、阈值处理、平滑处理
- 图像识别|火焰识别系统(python实现基于颜色多帧差分)
- Opencv -- 18图像像素类型转换与归一化
- opencv|Learing OpenCV---鼠标响应
- OpeenCV(python)|openCV专栏(一)(基础操作)
- OpenCV|opencv3/python 鼠标响应操作
- opencv|opencv学习笔记(二) 图像腐蚀和膨胀
- opencv|opencv学习笔记(四) 绘制几何图形