目录
目录
cv2.createTrackbar("R", "TrackBar", 0, 255, callback)
img = np.zeros((640, 640, 3), np.uint8)
r = cv2.getTrackbarPos("R", "TrackBar")
一、提前准备
1、树莓派4B 及 64位系统
2、提前安装opencv库 以及 numpy库
二、代码详解
1、定义一个空回调函数
# coding=utf-8
import cv2
import numpy as np
#定义空回调函数
def callback(value,userdata=None):
pass
callback
: 当Trackbar值改变时要调用的回调函数。在这里使用的是一个空回调函数callback
,它不执行任何操作。
2、窗口的搭建
#创建窗口
cv2.namedWindow("TrackBar",cv2.WINDOW_NORMAL)
cv2.resizeWindow("TrackBar",640,640)
#创建Trackbar
cv2.createTrackbar("R","TrackBar",0,255,callback)
cv2.createTrackbar("G","TrackBar",0,255,callback)
cv2.createTrackbar("B","TrackBar",0,255,callback)
img=np.zeros((640,640,3),np.uint8)
cv2.createTrackbar("R", "TrackBar", 0, 255, callback)
- 功能: 在指定窗口中创建一个Trackbar(滑动条),用于调整图像中红色(R)通道的值。
- 参数:
"R"
: Trackbar的名称。"TrackBar"
: Trackbar所在窗口的名称。0
: Trackbar的初始位置或值。255
: Trackbar的最大值。callback
: 当Trackbar值改变时要调用的回调函数。在这里使用的是一个空回调函数callback
,它不执行任何操作。
img = np.zeros((640, 640, 3), np.uint8)
- 功能: 创建一个全黑的图像,该图像用于在窗口中显示。
- 参数:
(640, 640, 3)
: 图像的尺寸。640是高度,640是宽度,3表示图像的通道数(RGB)。np.uint8
: 数据类型,表示图像中的每个像素值为0到255的整数。
3、主函数
while True:
cv2.imshow("TrackBar",img)
#获取TrackBar的值
r=cv2.getTrackbarPos("R","TrackBar")
g=cv2.getTrackbarPos("G","TrackBar")
b=cv2.getTrackbarPos("B","TrackBar")
#使用b,g,r值设置img所有像素
img[:]=[b,g,r]
key=cv2.waitKey(1)
if key&0XFF==ord('q'):
break
#释放所有资源
cv2.destroyAllWindows()
r = cv2.getTrackbarPos("R", "TrackBar")
- 功能: 获取指定Trackbar当前的位置或值。
- 参数:
"R"
: Trackbar的名称。"TrackBar"
: Trackbar所在窗口的名称。
img[:] = [b, g, r]
- 功能: 更新图像的所有像素的颜色值。将图像的所有像素值设置为[b, g, r],其中b、g、r是从滑动条中获得的值。
三、运行现象
四、完整代码
# coding=utf-8
import cv2
import numpy as np
#定义空回调函数
def callback(value,userdata=None):
pass
#创建窗口
cv2.namedWindow("TrackBar",cv2.WINDOW_NORMAL)
cv2.resizeWindow("TrackBar",640,640)
#创建Trackbar
cv2.createTrackbar("R","TrackBar",0,255,callback)
cv2.createTrackbar("G","TrackBar",0,255,callback)
cv2.createTrackbar("B","TrackBar",0,255,callback)
img=np.zeros((640,640,3),np.uint8)
while True:
cv2.imshow("TrackBar",img)
#获取TrackBar的值
r=cv2.getTrackbarPos("R","TrackBar")
g=cv2.getTrackbarPos("G","TrackBar")
b=cv2.getTrackbarPos("B","TrackBar")
#使用b,g,r值设置img所有像素
img[:]=[b,g,r]
key=cv2.waitKey(1)
if key&0XFF==ord('q'):
break
#释放所有资源
cv2.destroyAllWindows()
五、完整工程贴出
(持续更新中)opencv树莓派4B入门系列笔记1~5完整工程源码资源-CSDN文库
持续更新中……