взгляд изображение
Я начинаю играть с обработкой изображения
Он хочет обнаружить все капли, кроме идеально белых.
например, RGB MAX 220,220,220
У меня есть белая капля в грязи более темных, чтобы добавить к коду, чтобы она не обнаружила одну белую каплю, как на картинке. падение имеет RGB 243 243 243 и находится посередине
извините за язык
import numpy as np
import cv2
cap = cv2.VideoCapture(0)
while(1):
ret, frame = cap.read()
if not ret:
break
# define range of blue color in HSV
lower_blue = np.array([0,0,135])
upper_blue = np.array([60,255,255])
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)
mask = cv2.inRange(hsv, lower_blue, upper_blue)
ress = cv2.bitwise_and(frame,frame, mask= mask)
cv2.imshow('mask', mask)
cv2.imshow('mask1', ress)
frame = cv2.convertScaleAbs(ress)
params = cv2.SimpleBlobDetector_Params()
params.filterByColor = False
params.blobColor = 150
params.filterByArea = True
params.minArea = 50
params.maxArea = 100000
params.minThreshold = 0;
params.maxThreshold = 100;
ver = (cv2.__version__).split('.')
if int(ver[0]) < 3:
detector = cv2.SimpleBlobDetector(params)
else:
detector = cv2.SimpleBlobDetector_create(params)
keypoints = detector.detect(frame)
im_with_keypoints = cv2.drawKeypoints(frame, keypoints, np.array([]), (0,0,255), cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
if ret == True:
cv2.imshow('frame', im_with_keypoints)
else:
cap.release()
break
k = cv2.waitKey(10) & 0xff
if k == 27:
break