OpenCV-使用滑动条来调整函数参数

30次阅读

共计 902 个字符,预计需要花费 3 分钟才能阅读完成。

OpenCV 使用滑动条来调整函数参数 Python 版本

引言

在观察 OpenCV 中某个函数在不同参数的情况下,所得到的效果的时候,我之前是改一次参数运行一次,这样做起来操作麻烦,效率低下。为了更便捷的观察参数变化时带来的处理效果改变 可以使用滑动条来改变参数

具体思路

  1. 使用 cv2.createTrackbar() 创建滑动条,有几个参数就创建几个
  2. 对每个参数定义回调函数
  3. 在回调函数中显示图片

注意 滑动条的窗口名称 要与 图片显示的窗口名字相同

代码实现

import cv2

d = 0
color = 0
space = 0
def change_d(x):
    d = x
    blur = cv2.bilateralFilter(img,d,color,space)
    cv2.imshow("myImg",blur)

def change_color(x):
    color = x
    blur = cv2.bilateralFilter(img,d,color,space)
    cv2.imshow("myImg",blur)

def change_space(x):
    space = x
    blur = cv2.bilateralFilter(img,d,color,space)
    cv2.imshow("myImg",blur)

img = cv2.imread('car2.jpeg')
cv2.namedWindow('myImg')
cv2.createTrackbar('d','myImg',1,500,change_d)
cv2.createTrackbar('color','myImg',1,500,change_color)
cv2.createTrackbar('space','myImg',1,500,change_space)

while(1):
    k = cv2.waitKey(1)&0xFF
    if k==27:
        break
    d = cv2.getTrackbarPos('d','myImg')
    color = cv2.getTrackbarPos('color','myImg')
    space = cv2.getTrackbarPos('space','myImg')


cv2.destroyAllWindows()

效果展示

正文完
 0