opencv-python教程学习系列6-用滑动条做调色板

时间:2023-03-10 05:10:24
opencv-python教程学习系列6-用滑动条做调色板

前言

opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv-python用滑动条做调色板,坚持学习,共同进步。

系列教程参照OpenCV-Python中文教程

系统环境

系统:win_x64;

python版本:python3.5.2;

opencv版本:opencv3.3.1;

内容安排

1.知识点介绍;

2.测试代码;

具体内容

1.知识点介绍;

主要使用的库是numpy和cv2,函数是cv2.getTrackbarPos()、cv2.creatTrackbar();

主要内容是通过调节滑动条设定画板颜色;

1.1窗口显示颜色,三个滑动条来设置RGB的颜色;

1.2 当滑动滑动条时,窗口颜色实时发生改变,默认窗口为黑色;

1.3 函数cv2.createTrackbar的参数详情:

滑动条的名字、滑动条被放置窗口的名字、滑动条默认位置、滑动条的最大值、回调函数;

每次滑动都会调用回调函数,回调函数通常都会含有一个默认参数,就是滑动条的位置。

cv2.createTrackbar('R','image',0,255,nothing)

1.4 滑动条的另一个应用就是用作转换按钮,默认opencv是不带按钮函数的,这里以滑动条代替,

需要先创建一个转换按钮,只有当转换按钮指向ON时滑动条才有用;

switch = '0:OFF\n1:ON'
cv2.createTrackbar(switch,'image',0,1,nothing)
s = cv2.getTrackbarPos(switch, 'image')

2.测试代码;

import cv2
import numpy as np
def nothing(x):
pass #创建一个黑色图像
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)
if k == ord('q'):#按q键退出
break 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[:]=[r,g,b]
cv2.destroyAllWindows()

测试结果显示

opencv-python教程学习系列6-用滑动条做调色板

参考

1.opencv-python用滑动条做调色板