使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果

Posted 程序媛一枚~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果相关的知识,希望对你有一定的参考价值。

使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果

这篇博客将使用python,opencv绘制调色板及圆形来模拟霓虹的渐变效果。

1. 效果图

可以构造霓虹的渐变效果呦,选择不同的圆心,视觉上的震撼感也不一样~
在这里插入图片描述

2. 源码

# 构建霓虹渐变效果
# USAGE
# python trackbar_as_color_palette.py

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)

# 构建半径大小渐变栏
cv2.createTrackbar('radius', 'image', 0, 100, nothing)

# 构建切换开关,1开始绘制
switch = '0 : OFF \\n1 : ON'
cv2.createTrackbar(switch, 'image', 0, 1, nothing)

while (1):
    cv2.imshow('image', img)
    k = cv2.waitKey(1) & 0xFF
    # 按下ESC键退出
    if k == 27:
        break

    # 获取当前5个轨迹栏的值
    r = cv2.getTrackbarPos('R', 'image')
    g = cv2.getTrackbarPos('G', 'image')
    b = cv2.getTrackbarPos('B', 'image')
    radius = cv2.getTrackbarPos("radius", 'image')
    s = cv2.getTrackbarPos(switch, 'image')

    #  随机圆心
    pts = tuple(np.random.randint(0, high=512, size=(2,)))
    # print(pts, type(pts))

    if s == 0:
        img[:] = 0
    else:
        cv2.circle(img, pts, radius, (b, g, r), -1)

cv2.destroyAllWindows()

参考

以上是关于使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果的主要内容,如果未能解决你的问题,请参考以下文章

python-opencv-圆椭圆与任意多边形的绘制

番外3. Python OpenCV 中如何绘制各种图形?

番外3. Python OpenCV 中如何绘制各种图形?

OpenCV 例程200篇213. 绘制圆形

使用Python,Opencv进行二维直方图的计算及绘制

python opencv:使用滑动条做调色板