как настроить, чтобы он не видел белые капли - PullRequest
0 голосов
/ 16 февраля 2020

взгляд изображение

Я начинаю играть с обработкой изображения

Он хочет обнаружить все капли, кроме идеально белых.

например, 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...