使用 cv2.inRange() 函数进行测量

问题描述

我正在尝试使用 opencv/python 分离图像中特定颜色范围内的对象。我为此使用 cv2.inRange() 函数,当我将以下参数传递给它时 cv2.inRange(hsv,(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'

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

解决方法

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

import numpy as np

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

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