【问题标题】:Thersholding using cv2.inRange() function使用 cv2.inRange() 函数的阈值
【发布时间】:2021-01-31 20:35:23
【问题描述】:

我正在尝试使用 opencv/python 分离图像中某些颜色范围内的对象。我为此使用 cv2.inRange() 函数,当我将以下参数传递给它时 cv2.inRange(hsv,(0,0,0),(170,255,255)) hsv 是我的图像, 它会引发以下错误:

  File "c:/Users/fazil/Desktop/Bilgisayar Bilimi/Python/Python Konuları/Opencv/Projeler/Object Tracking.pyw", line 59, in find_the_positions
    threshold = cv2.inRange(hsv,color_down,color_up)
TypeError: Expected Ptr<cv::UMat> for argument 'lowerb'

为什么会这样以及如何解决?谢谢。

【问题讨论】:

  • 您在inRange() 的文档中发现了什么?它应该描述您必须在 inRange() 中使用哪些数据

标签: python opencv computer-vision data-science opencv-contour


【解决方案1】:

我相信你必须传入 Numpy 数组,或者至少我是这样做的。

import numpy as np

lower_gray = np.array([0, 0, 50])
upper_gray = np.array([360, 255, 160])

mask = cv2.inRange(hsv, lower_gray, upper_gray)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多