关闭

【OpenCv-Python】五、Trackbar as the Color Palette

标签: OpenCvPython图像识别调色板滑动条OpenCv-python
42人阅读 评论(0) 收藏 举报
分类:

用滑动条做调色板

目标

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.结合上一节的知识,创建一个画板,可以选择各种颜色的画笔画各种图形。

1
0
查看评论

python opencv 入门 绘图函数 (3)

内容来自OpenCV-Python Tutorials 自己翻译整理 目标: 使用opencv画几何图形 学习如下函数 cv2.line(), cv2.circle() , cv2.rectangle(), cv2.ellipse(), cv2.putText() 画线:import numpy a...
  • tengfei461807914
  • tengfei461807914
  • 2017-03-10 11:53
  • 719

opencv-各模块待补充

1、highgui module 参考:https://docs.opencv.org/3.2.0/da/d6a/tutorial_trackbar.html Trackbar的使用 C++ #include "opencv2/imgcodecs.hpp" #includ...
  • wc781708249
  • wc781708249
  • 2017-11-16 15:55
  • 177

OpenCV-Python Trackbar

参考 Trackbar as the Color Palette 代码 import cv2 import numpy as np def nothing(x): pass # Create a black image, a window img = np.ze...
  • u010827085
  • u010827085
  • 2018-02-12 15:31
  • 10

Color palette

Red500#f4433650#ffebee100#ffcdd2200#ef9a9a300#e57373400#ef5350500#f44336600#e53935700#d32f2f800#c62828900#b71c1cA100#ff8a80A200#ff5252A400#ff1744A700#...
  • dadaxiaoxiaode
  • dadaxiaoxiaode
  • 2016-10-20 09:54
  • 498

Palette颜色提取使用详解

摘要 如果你试过android Lollipop的sdk,你可能注意到了Palette。Palette从图像中提取突出的颜色,这样可以把色值赋给ActionBar、或者其他,可以让界面整个色调统一。 创建Palette实例 有四种创建实例的方法: // Synchronous method...
  • sada09
  • sada09
  • 2015-01-11 22:21
  • 844

Android通过Palette来动态决定UI色彩风格

转载地址:http://blog.csdn.net/ljx19900116/article/details/41806863 前言 动态色彩 根据图片来决定标题的颜色和标题栏的背景色,这样视觉上更具有冲击力和新鲜感,而不像统一色调那样呆板。 大家想知道这个效果如何实现的吗? 学习Palett...
  • zhangweiwtmdbf
  • zhangweiwtmdbf
  • 2015-04-14 10:37
  • 12313

[转] BMP Palette 调色板

调色板
  • tony2278
  • tony2278
  • 2016-11-18 11:55
  • 516

29款 Xcode 插件

m iOS 应用构建工具 xctool xctool 用以替换苹果公司的 xcodebuild 工具来简化 iOS 和 Mac 项目的构建和测试。要使用该工具必须安装 Xcode 命令行工具:From Xcode, install via Xcode → Preferences → D...
  • m372897500
  • m372897500
  • 2016-03-04 20:39
  • 704

鼠标事件与trackbar开关

//学习OPENCV 第4章 #include #include #include #include #include #include CvRect box; bool drawing_box = false; //定义绘制图形的全局的标志,当需要绘制时打开标志 int g_switch_v...
  • liz_zhong
  • liz_zhong
  • 2016-02-22 21:25
  • 629

【OpenCV_10】 创建滑动条Trackbar & 图像对比度、亮度值调整

滑动条 Trackbars在各种场合都非常有用。可以在各种OpenCV应用中通过滑动条来改变参数。 Trackbars的简单应用 不论在任何时候改变trackbar滑块的位置,一个整型变量就随之改变。使用这个功能就可以对图像或者视频的属性进行调节。 OpenCV实例:通过Trac...
  • tealex
  • tealex
  • 2016-06-01 17:59
  • 869
    个人资料
    • 访问:126508次
    • 积分:3214
    • 等级:
    • 排名:第12600名
    • 原创:187篇
    • 转载:4篇
    • 译文:9篇
    • 评论:33条
    RUNNING|~_~|My web
    微信公众号
    课程设计、视频资源、有料趣文
    Worldhello


    微信公众号:Worldhello
    期待您的关注!
    博客专栏
    最新评论