使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
Posted 程序媛一枚~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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绘制调色板及圆形来模拟霓虹的渐变效果的主要内容,如果未能解决你的问题,请参考以下文章