OpenCV cv.InRange功能是否仅适用于RGB图像?我可以使用此功能对灰度图像进行阈值处理吗?
我收到一个错误,以下是我的代码:
import cv2
image=cv2.imread("disparitySGB.jpg")
thresh=cv2.inRange(image,190,255);
Run Code Online (Sandbox Code Playgroud)
它给出以下错误:
脱粒= cv2.inRange(图像,190255); TypeError:unknown不是一个numpy数组
我尝试通过以下方式修复:
thresh=cv2.inRange(image,numpy.array(190),numpy.array(255));
Run Code Online (Sandbox Code Playgroud)
现在没有错误,但它会产生黑色图像.
我一直在运行 OpenCV 文档中的 trackbar 程序。这是代码:
import cv2
import numpy as np
def nothing(x):
pass
# Create a black image, a window
img = np.zeros((300,512,3), np.uint8)
cv2.namedWindow('image')
# create trackbars for color change
cv2.createTrackbar('R','image',5,255,nothing)
cv2.createTrackbar('G','image',5,255,nothing)
cv2.createTrackbar('B','image',5,255,nothing)
# create switch for ON/OFF functionality
switch = '0 : OFF \n1 : ON'
cv2.createTrackbar(switch, 'image',0,1,nothing)
while(1):
cv2.imshow('image',img)
k = cv2.waitKey(1) & 0xFF
if k == 27:
break
# get current positions of four trackbars
r = cv2.getTrackbarPos('R','image')
**if r%4 == 0 and r >0 …Run Code Online (Sandbox Code Playgroud)