微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 cv2.createTrackbar 使用 python 模糊图像

如何解决使用 cv2.createTrackbar 使用 python 模糊图像

我尝试了以下代码

import cv2
import numpy as np

   
def nothing(x):
  pass

cv2.namedWindow('Image')
img = cv2.imread("kakashi.jpg")

low = 1
high = 100

cv2.createTrackbar('Blur','Image',low,high,nothing)
while (True):
    ksize = cv2.getTrackbarPos('ksize','Image')
    ksize = -2*ksize-1
    image = cv2.medianBlur(img,ksize)
    
    cv2.imshow('Image',image)
    k = cv2.waitKey(1) & 0xFF
    if k == 27:
        break

cv2.destroyAllWindows()

通过更改滑块的位置,对图像没有影响。我在解决这个问题时遇到了麻烦。我想我错过了一些东西!请帮忙!

解决方法

有一个简单的错误,你正在做。您在此处将轨迹栏名称定义为 “Blur”

cv2.createTrackbar('Blur','Image',low,high,nothing)

然后您将轨迹栏称为 "ksize"

ksize = cv2.getTrackbarPos('ksize','Image')

这是错误的,所以如果您只是将这一行更改为这一行:

ksize = cv2.getTrackbarPos('Blur','Image')

它会修复。

注意:正如@fmw42 在评论中提到的,您计算的中位数也存在一些问题。你可以重新检查一下。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。