!!!本博客,是对图像的背景颜色的修改的基础讲解~!!!
还包括一个练习——是对背景色修改的一点应用尝试!!!——始终相信学习多一点探索,脚步会更坚定一些~
愿所有正在努力的人都可以坚持自己的路一直走下去!
实现轨迹(跟踪)栏功能的函数
函数主要参数讲解
cv.createTrackbar()——创建一个轨迹(跟踪)栏
cv.getTrackbarPos()——获取一个轨迹(跟踪)栏的值
cv.createTrackbar()参数如下:
- 参数一:trackbarname——轨迹(跟踪)栏名称
- 参数二:winname——需要挂载轨迹(跟踪)栏的窗体名
- 参数三:value——默认值
- 参数四:count——上限值
- 参数五:onChange ——轨迹(跟踪)栏的回调执行函数
- (一般仅仅是通过轨迹栏修改值,然后读取的话,这个参数可以不用管)参数六:userdata ——作为回调传递的用户数据。它可以在不使用全局变量的情况下处理trackbar事件。
cv.getTrackbarPos()参数如下:
- 参数一:trackbarname——需要读取的轨迹(跟踪)栏名称
- 参数二:winname——对应的窗体名
代码实现
我们先创建一个窗体,为轨迹(跟踪)栏的挂载做准备
~照片就默认创建一张黑色图片
import cv2 as cv import numpy as np img = np.zeros((512, 512, 3), np.uint8) cv.namedWindow('imag', cv.WINDOW_NORMAL) cv.resizeWindow('imag', 510, 510)
接着我们把需要的轨迹(跟踪)栏添加到这个窗体中(记得必须要创建轨迹(跟踪)栏回调函数的!!!)
回调函数可以为pass空函数——但是必须要有!!!
这次要实现背景色的控制,那么我们设置三个轨迹(跟踪)栏,每一个轨迹栏对应一个0~255的值——对应BGR中的三色值!!!
def nothing(x): pass # 参数依次为:设置轨迹(跟踪)栏名字,挂载的窗体, 默认值, 最大值,回调函数 cv.createTrackbar('R', 'imag', 0, 255, nothing) # R的值——nothing传入一个空函数体,不执行任何回调函数 cv.createTrackbar('G', 'imag', 0, 255, nothing) # G的值 cv.createTrackbar('B', 'imag', 0, 255, nothing) # B的值 switch = '1:ON\n0:OFF' cv.createTrackbar(switch, 'imag', 0, 1, nothing) # 设置一个开关——当为1时,图片背景可以改变——否则为黑色
显示主体部分的代码
while True: cv.imshow('imag', img) k = cv.waitKey(1) & 0xFF if k == 27: # ESC退出 break if cv.getTrackbarPos(switch, 'imag') == 1: # 当swtch轨迹(跟踪)栏的值为1时,允许改变背景色 img[:] = [cv.getTrackbarPos('B', 'imag'), cv.getTrackbarPos('G', 'imag'), cv.getTrackbarPos('R', 'imag')] # getTrackbarPos的参数为:读取值的轨迹(跟踪)栏名,所在的窗体名 # opencv的颜色为BGR——依次获取轨迹(跟踪)栏的值就可以了~ else: # 否则为默认黑色 img[:] = 0 cv.destroyAllWindows()
效果
完整代码
import cv2 as cv import numpy as np def nothing(x): pass if __name__ == "__main__": img = np.zeros((512, 512, 3), np.uint8) cv.namedWindow('imag', cv.WINDOW_NORMAL) cv.resizeWindow('imag', 510, 510) cv.createTrackbar('R', 'imag', 0, 255, nothing) cv.createTrackbar('G', 'imag', 0, 255, nothing) cv.createTrackbar('B', 'imag', 0, 255, nothing) switch = '1:ON\n0:OFF' cv.createTrackbar(switch, 'imag', 0, 1, nothing) while True: cv.imshow('imag', img) k = cv.waitKey(1) & 0xFF if k == 27: break if cv.getTrackbarPos(switch, 'imag') == 1: img[:] = [cv.getTrackbarPos('B', 'imag'), cv.getTrackbarPos('G', 'imag'), cv.getTrackbarPos('R', 'imag')] else: img[:] = 0 cv.destroyAllWindows()
效果
默认打开的样子~
此时调节背景色是不改变的~
当打开时,背景色就会发生改变了~
小训
训练要求
我们通过鼠标绘制一些东西,然后将背景颜色的修改,作为图片刷新(清空内容)~
代码结构
鼠标回调函数(包含包的引用)
import cv2 as cv import numpy as np drawing = False line_size = 2 def mouse_function(event, x, y, flags, param): # 鼠标回调函数——执行鼠标左键按下后移动绘图 global drawing, line_size if event == cv.EVENT_LBUTTONDOWN: drawing = True elif event == cv.EVENT_MOUSEMOVE: if drawing is True: cv.circle(img, (x, y), line_size, (0, 125, 255), -1, cv.LINE_AA) elif event == cv.EVENT_LBUTTONUP: drawing = False cv.circle(img, (x, y), line_size, (0, 125, 255), -1, cv.LINE_AA)
轨迹(跟踪)栏回调函数
# 这里不需要任何操作~所以用pass空函数体即可 def nothing(x): pass __main__主体代码 if __name__ == "__main__": img = np.zeros((512, 512, 3), np.uint8) cv.namedWindow('imag', cv.WINDOW_NORMAL) cv.resizeWindow('imag', 510, 510) cv.setMouseCallback('imag', mouse_function) # 实现鼠标回调函数 cv.createTrackbar('R', 'imag', 0, 255, nothing) # 设置R轨迹(跟踪)栏 cv.createTrackbar('G', 'imag', 0, 255, nothing) cv.createTrackbar('B', 'imag', 0, 255, nothing) switch = '1:ON\n0:OFF' cv.createTrackbar(switch, 'imag', 0, 1, nothing) # 设置开关控制轨迹(跟踪)栏 while True: cv.imshow('imag', img) k = cv.waitKey(1) & 0xFF if k == 27: break if cv.getTrackbarPos(switch, 'imag') == 1: # 为1是,刷新画面 img[:] = [cv.getTrackbarPos('B', 'imag'), cv.getTrackbarPos('G', 'imag'), cv.getTrackbarPos('R', 'imag')] cv.setTrackbarPos(switch, 'imag', 0) # 通过set轨迹(跟踪)栏位置,实现为1刷新后,及时回到0位置 cv.destroyAllWindows()
效果:(小训练的代码连起来就可以直接运行的,这里就不单独再写一遍了)
先随意用鼠标写“开心”两个字~
接着点击这里(可能需要点一次选中轨迹(跟踪)栏,再点击才能执行变化)
然后就实现刷新了~
我们再写点其它的——
到这里小练习也就结束了——既练习了鼠标事件当作画笔,也实现了轨迹(跟踪)栏的设置和读取——当作画板刷新的功能(●'"color: #ff0000">总结
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 好薇2024《兵哥哥》1:124K黄金母盘[WAV+CUE]
- 胡歌.2006-珍惜(EP)【步升大风】【FLAC分轨】
- 洪荣宏.2014-拼乎自己看【华特】【WAV+CUE】
- 伊能静.1999-从脆弱到勇敢1987-1996精选2CD【华纳】【WAV+CUE】
- 刘亮鹭《汽车DJ玩主》[WAV+CUE][1.1G]
- 张杰《最接近天堂的地方》天娱传媒[WAV+CUE][1.1G]
- 群星《2022年度发烧天碟》无损黑胶碟 2CD[WAV+CUE][1.4G]
- 罗文1983-罗文甄妮-射雕英雄传(纯银AMCD)[WAV+CUE]
- 群星《亚洲故事香港纯弦》雨果UPMAGCD2024[低速原抓WAV+CUE]
- 群星《经典咏流传》限量1:1母盘直刻[低速原抓WAV+CUE]
- 庾澄庆1993《老实情歌》福茂唱片[WAV+CUE][1G]
- 许巍《在别处》美卡首版[WAV+CUE][1G]
- 林子祥《单手拍掌》华纳香港版[WAV+CUE][1G]
- 郑秀文.1997-我们的主题曲【华纳】【WAV+CUE】
- 群星.2001-生命因爱动听电影原创音乐AVCD【MEDIA】【WAV+CUE】