【问题标题】:OpenCV error while reszing new created window is there any other way to do it?调整新创建的窗口大小时出现 OpenCV 错误,还有其他方法吗?
【发布时间】:2021-08-29 12:05:48
【问题描述】:
cv2.namedWindow("Trackbars")
cv2.resize("Trackbars", 640 ,420)
cv2.createTrackbar("Hue Min","Trackbars",0,179,empty)

我正在使用此代码来创建新窗口并调整其大小,但它显示给我以下错误: 这里做错了什么?

重载解析失败:

  • src 不是 numpy 数组,也不是标量
  • 参数“src”的预期 Ptr<:umat>

这里有什么问题?

【问题讨论】:

    标签: python python-3.x opencv trackbar


    【解决方案1】:

    有两种略有不同的方法。

    我建议将resize 更改为resizeWindowcv2.WINDOW_KEEPRATIO 保持图像的正确比例(如果有的话)。

    cv2.namedWindow("Trackbars", cv2.WINDOW_KEEPRATIO)
    cv2.resizeWindow("Trackbar", 640, 420)
    

    您还可以以比率形式而不是特定像素来调整窗口大小 - 如果您将媒体输入作为变量 (image)。

    cv2.resize(frame, (0,0), fx=0.4, fy=0.4)

    【讨论】:

    • 如何为trackbars调用这个函数?
    • @Spartex 我现在更新了我的问题,使其更具相关性。
    • @Spartex 不用担心,问题解决了吗?
    • 是的,但我不能问新问题?你能投票给这个问题,这样我就可以再问一次了吗?
    • 我明白了,可以接受我的回答吗?
    【解决方案2】:

    cv2.resize("Trackbars", 640 ,420)
    “Trackbars”不是一个 numpy 数组。在此处添加图像。因此 src 错误。使用 cv2.imread 读取您的图像或从其他来源读取图像。
    其次,640, 420 应该是一个元组 (640,420) 即维度。

    【讨论】:

    猜你喜欢
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 2015-07-24
    • 2014-10-27
    • 2011-05-30
    相关资源
    最近更新 更多