gpt4 book ai didi

python - 范围内灰度图像的阈值处理

转载 作者:太空狗 更新时间:2023-10-30 02:11:49 24 4
gpt4 key购买 nike

OpenCV cv.InRange 函数是否仅适用于 RGB 图像?我可以使用此函数对灰度图像进行阈值处理吗?

我得到一个错误,以下是我的代码:

   import cv2
image=cv2.imread("disparitySGB.jpg")
thresh=cv2.inRange(image,190,255);

它给出了以下错误:

thresh=cv2.inRange(image,190,255); TypeError: unknown is not a numpy array

我尝试通过以下方式修复它:

  thresh=cv2.inRange(image,numpy.array(190),numpy.array(255));

现在没有错误,但它生成黑色图像。

最佳答案

对于在 numpy 中具有形状 (M, N) 且在 OpenCV 中具有单 channel 大小 MxN 的灰度值图像,则 cv2.inRange 采用标量边界:

gray = cv2.imread(filename, cv2.CV_LOAD_IMAGE_GRAYSCALE)
gray_filtered = cv2.inRange(gray, 190, 255)

但对于在 OpenCV 中具有三个 channel 的 numpy 形状(M、N、3)和大小 MxN 的 RGB 图像,您需要使边界与“ channel 大小”相匹配。

rgb = cv2.imread(filename, cv2.CV_LOAD_IMAGE_COLOR)
rgb_filtered = cv2.inRange(gray, (190, 190, 190), (255, 255, 255))

这在 documentation 中有解释, 虽然不是很清楚。

关于python - 范围内灰度图像的阈值处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20049995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com