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

2021/7/7 22:39:47

本文主要是介绍使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

    • 1. 效果图
    • 2. 源码
    • 参考

这篇博客将使用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()

参考

  • https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_trackbar/py_trackbar.html#trackbar


这篇关于使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程