飙血推荐
  • HTML教程
  • MySQL教程
  • JavaScript基础教程
  • php入门教程
  • JavaScript正则表达式运用
  • Excel函数教程
  • UEditor使用文档
  • AngularJS教程
  • ThinkPHP5.0教程

opencv学习(五)——轨迹栏作为调色板

时间:2021-12-13  作者:mogebw  

轨迹栏作为调色板

在这里,我们将创建一个简单的应用程序,以显示指定的颜色。有一个显示颜色的窗口,以及三个用于指定B、G、R颜色的轨迹栏。滑动轨迹栏,并相应地更改窗口颜色。默认情况下,初始颜色将设置为黑色。

对于域名rackbarPos() 函数,第一个参数是轨迹栏名字,第二个参数是它附加到的窗口名,第三个参数是默认值,第四个是最大值,第五个是回调函数,滑条改变所执行的函数。这个回调函数也有一个默认参数,表示轨迹栏位置。我们并不关心函数做什么事,所以我们简单提一下。

轨迹栏的另一个重要应用是将其用作按钮或开关。默认情况下,OpenCV不具有按钮功能。因此,您可以使用轨迹栏获得此类功能。在我们的应用程序中,我们创建了一个开关,只有在该开关为ON的情况下,该应用程序才能在其中运行,否则屏幕始终为黑色。

import cv2
import numpy as np

def nothing(x):
    pass

#创建一个黑色的图像,一个窗口
img = 域名s((512, 512, 3), 域名8)

def cv_show(name, img, callback):
    域名dWindow(name)
    #创建颜色变化的轨迹栏
    域名teTrackbar(\'R\', name, 0, 255, callback)
    域名teTrackbar(\'G\', name, 0, 255, callback)
    域名teTrackbar(\'B\', name, 0, 255, callback)
    #为ON/OFF功能创建开关
    switch = \'0 : OFF \n 1 : ON\'
    域名teTrackbar(switch, name, 0, 1, callback)
    while(1):
        域名ow(name, img)
        k = 域名Key(1) & 0XFF
        if k == 27:
            break
        #得到四条轨迹的当前位置
        r = 域名rackbarPos(\'R\', name)
        g = 域名rackbarPos(\'G\', name)
        b = 域名rackbarPos(\'B\', name)
        s = 域名rackbarPos(switch, name)
        if s == 0:
            img[:] = 0
        else:
            img[:] = [b, g, r]
    域名royAllWindows()

cv_show(\'image\', img, nothing)

image

标签:编程
湘ICP备14001474号-3  投诉建议:234161800@qq.com   部分内容来源于网络,如有侵权,请联系删除。