编程语言
首页 > 编程语言> > 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果

使用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()

参考

标签:createTrackbar,Python,image,cv2,调色板,Opencv,nothing,getTrackbarPos,渐变
来源: https://blog.csdn.net/qq_40985985/article/details/118545936