如何使用OpenCV Python创建HSV颜色空间的颜色条
为了将 HSV(色调,饱和度和值) 颜色空间作为颜色条,我们需要应用两种不同的函数。这两个函数是 cv2.createTrackbar() 和 cv2.getTrackbarPos() 。
- 函数 cv2.reateTrackbar() 用于创建颜色条,而函数 cv2.getTrackbarPos() 用于访问所选颜色条位置的值。
-
使用这两个函数,我们创建一个窗口,其中包含用于 H,S,V 颜色的颜色条和一个显示所选颜色的颜色窗口。通过更改颜色条的位置,我们可以选择特定颜色的值。
-
颜色 H 的范围是 0 到 179 ,而对于 S 和 V ,它在 0 和 255 之间。
语法
参数
-
trackbar_name - 颜色条名称。该名称用于访问颜色条位置值。
-
window_name - 附加颜色条的窗口名称。
-
default_value - 设置颜色条的默认值。
-
max_value - 颜色条的最大值。
-
callback_func - 当颜色条值发生变化时执行的函数。
步骤
若要将 HSV 颜色空间作为颜色条,可以按照以下步骤执行-
第一步是导入所需的库。所需的Python库为 OpenCV 和 NumPy 。请确保您已经安装了它们。
接下来定义一个 回调函数 。它将颜色条位置作为默认参数。我们定义此函数不执行任何操作。
定义黑色图像并创建名为 HSV颜色条 的窗口。颜色条和颜色将显示在此窗口中。
为颜色更改创建颜色条,传递所有五个参数。
获取所有三种 HSV 颜色的当前颜色条位置。
为上述颜色更新颜色图像窗口。并将图像颜色转换为 BGR 。
现在显示所选颜色条值的颜色图像窗口中的颜色。
示例1
在此Python程序中,我们创建一个颜色调板作为窗口。我们为红色,绿色和蓝色颜色创建了三个颜色条。通过滑动颜色条,您将在颜色窗口中获得相应的颜色显示。
输出
运行上面的代码后,将显示以下输出窗口。按下“ q ”键可关闭输出窗口。
三个滑动条的默认值都是 0 ,窗口的颜色是黑色。滑动滑动条,您将看到颜色窗口中对应的颜色。
示例2
在这个程序中,我们创建了一个窗口作为 HSV 颜色调色板,其中包含一个 switch 按钮。我们创建了四个滑动条,三个用于 HSV颜色 ,一个用于 switch 按钮。
当 switch 按钮处于 ON 状态时,才会显示颜色图像中的颜色。滑动滑动条,您将在颜色窗口中得到相应的颜色显示。
输出
当您运行上面的程序时,它将显示以下输出窗口。要关闭输出窗口,请按“ q ”按钮。
默认情况下,所有滑块的值均为 0 。窗口的颜色为黑色。当您打开开关(选择为 1 )并将 HSV 颜色滑块滑动到所需值时,窗口的颜色将与设置的值对应。对于明亮的颜色,请选择最大的 S 和 V 滑块值并滑动 H 滑块。
当开关关闭时,滑动滑块将不会有任何变化。
如果在开关关闭时(设置为0)滑动滑动条,则窗口的颜色不会发生变化。它将保持原样(即黑色)。