Python-OpenCV(2)

这次咱们写个有点意思的东西,上个博客在最后写了画线、画矩形之类的,涉及到取颜色(r g b值),这次咱们就写个图形化的调色板。 具体就是: 三个滑动条分别代表R、G、B的值,下方有个矩形区域,显示颜色

cv2.createTrackbar(trackbarName, windowName, value, count, onChange) # 创建滑动条 cv2.getTrackbarPos(trackbarname, winname) # 获取滑动条的值

其中的参数含义相信大家看名字就能明白了,不多说了

代码:

__author__ = 'gavinzhou'
# -*- coding: utf-8 -*-

import cv2
import numpy as np


def recall_nothing():
    """
    回调函数,我们不做任何事情所以直接pass
    :return:
    """
    pass


# 创建一幅三通道的图
image = np.zeros((300, 500, 3), dtype=np.uint8)
cv2.namedWindow('Image')

# 创建滑动条
cv2.createTrackbar('R', 'Image', 0, 255, recall_nothing)
cv2.createTrackbar('G', 'Image', 0, 255, recall_nothing)
cv2.createTrackbar('B', 'Image', 0, 255, recall_nothing)

# 创建开关(0表示关闭RGB的调色效果,此时效果为黑)
switch = '0:OFF\n1:ON'
cv2.createTrackbar(switch, 'Image', 0, 1, recall_nothing)


while 1:
    cv2.imshow('Image', image)
    key = cv2.waitKey(1) & 0xFF
    if key == 27:
        # 'ESC键代表退出'
        break
    # 获得各个滑动条的值
    r = cv2.getTrackbarPos('R', 'Image')
    g = cv2.getTrackbarPos('G', 'Image')
    b = cv2.getTrackbarPos('B', 'Image')
    s = cv2.getTrackbarPos(switch, 'Image')

    # 显示
    if s == 0:
        # 开关关闭,显示全黑
        image[:] = 0
    else:
        # 对于彩色图像(RGB),OpenCV按照BGR来显示,Matplotlib按照RGB来显示
        image[:] = [b, g, r]

结果是:

可以使用,OK的!!

对于这部分大家有兴趣的可以看看OpenCV中的事件及回调函数,百度下关键字,就能找到更多的资源和教程。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DeveWork

WordPress免插件仅代码实现面包屑导航

这个功能在网络上一搜是一大把代码,本来也不想在这里再累赘的,但为了丰富本站 DeveWord .com 的“无插件”系列,只得。。。面包屑导航不仅仅是给访客使用...

18310
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现散落点图表功能

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便

762
来自专栏GIS讲堂

GeoWebCache的配置与使用

最近在做一个开源GIS的demo的工作,工作中涉及到了地图瓦片,选取的开发环境是geoserver+openlayers,那么地图瓦片自然而然也就使用geow...

1314
来自专栏xingoo, 一个梦想做发明家的程序员

一分钟教你在博客园中制作自己的动态云球形标签页

经常看到别人的博客里面有动态的云标签页,感觉很是高大上,自己也很像弄一个。于是去找寻源码,在阿里西西页面特效中找到了云标签的源码,经过分析和解剖,弄成了符合博...

2618
来自专栏数据的力量

职场人必备的WORD排版十大技巧

2037
来自专栏夏时

两款 Js 插件为你的网站添彩

891
来自专栏数据小魔方

可视化基础——字体篇

今天是2015的最后一天了,也是小魔方持续更新的第11天,感谢众多小伙伴们的支持和关注,预祝大家元旦快乐,新的一年一切都更美好!!! 之前两篇给大家分享了一些...

3258
来自专栏守候书阁

canvas入门实战--邀请卡生成与下载

写了很多的javascript和css3的文章,是时候写一篇canvas的了。canvas是html5提供的一个新的功能!至于作用,就是一个画布。然后画笔就是j...

803
来自专栏你不就像风一样

Comfort - 一款MarkDown风格的博客园主题

目录和返回顶部一直位于右下角,鼠标移入显示,移出隐藏。注意,在手机端是不显示目录按钮和返回顶部按钮。

1343
来自专栏编程微刊

echarts统计图踩坑合集

将图标主标题颜色修改成红色,只需要在 title:里面添加 textStyle: {color: 'red' }即可

472

扫码关注云+社区