测试图片:
代码:
import cv2 as cv2
import numpy as np
panel = np.zeros([100, 700], np.uint8)
cv2.namedWindow('panel')
def nothing(x):
pass
cv2.createTrackbar('L - h', 'panel', 0, 179, nothing)
cv2.createTrackbar('U - h', 'panel', 179, 179, nothing)
cv2.createTrackbar('L - s', 'panel', 0, 255, nothing)
cv2.createTrackbar('U - s', 'panel', 255, 255, nothing)
cv2.createTrackbar('L - v', 'panel', 0, 255, nothing)
cv2.createTrackbar('U - v', 'panel', 255, 255, nothing)
img = cv2.imread("11.bmp")[700:1400,700:1800,:]
print(img.shape)
img = cv2.resize(img, (0, 0), fx=0.8, fy=0.8, interpolation=cv2.INTER_NEAREST)
# gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
# hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS)
# LAB = cv2.cvtColor(img, cv2.COLOR_BGR2LAB)
# LUV = cv2.cvtColor(img, cv2.COLOR_BGR2LUV)
# cv2.imshow("gray", gray)
# cv2.imshow("hsv", hsv)
# cv2.imshow("hls", hls)
# cv2.imshow("LAB", LAB)
# cv2.imshow("LUV", LUV)
while (1):
l_h = cv2.getTrackbarPos('L - h', 'panel')
u_h = cv2.getTrackbarPos('U - h', 'panel')
l_s = cv2.getTrackbarPos('L - s', 'panel')
u_s = cv2.getTrackbarPos('U - s', 'panel')
l_v = cv2.getTrackbarPos('L - v', 'panel')
u_v = cv2.getTrackbarPos('U - v', 'panel')
lower_green = np.array([l_h, l_s, l_v])
upper_green = np.array([u_h, u_s, u_v])
# inRange():介于lower_green / upper_green之间的为白色,其余黑色
mask = cv2.inRange(hsv, lower_green, upper_green)
res = cv2.bitwise_and(img, img, mask=mask)
cv2.imshow('res', res)
k = cv2.waitKey(1) & 0xFF
if k == ord('c'):
draw_type = not draw_type
elif k == 27:
break
————————————————
版权声明:本文为CSDN博主「RayChiu_Labloy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/RayChiu757374816/article/details/119872376