Я работаю над алгоритмами определения цвета и объектов с помощью Raspberry Pi с Picamera и OpenCV Python3.Я обнаруживаю несколько цветов внутри объектов в одном кадре, но мне нужно знать, когда кадр содержит только один цвет , уведомив меня.
мой код, относящийся к этой функции ниже:
# only proceed if at least one contour was found
if len(cnts) > 0:
# find the largest contour in the mask, then use
# it to compute the minimum enclosing circle and
# centroid
c = max(cnts, key=cv2.contourArea)
((x, y), radius) = cv2.minEnclosingCircle(c)
M = cv2.moments(c)
center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"]))
# only proceed if the radius meets a minimum size. Correct this value for your obect's size
if radius > 2:
# draw the circle and centroid on the frame,
# then update the list of tracked points
cv2.circle(frame, (int(x), int(y)), int(radius), colors[key], 2)
cv2.putText(frame,key + " Color Detected", (int(x-radius),int(y-radius)), cv2.FONT_HERSHEY_SIMPLEX, 0.6,colors[key],2)
if key == "Yellow" and radius > 2:
print("Hello from other side")
# show the frame to our screen
cv2.imshow("Frame", frame)
key = cv2.waitKey(1) & 0xFF
# if the 'q' key is pressed, stop the loop
if key == ord("q"):
break
Мой полный код здесь: https://paper.dropbox.com/doc/CODE--AR6uAVjSJFF2vv3YHC97_B3NAQ-EVg5oJec6eTwycFqDQ38r
Я пытался сделать много вещей, но у меня ничего не получалось.Если кто-то может помочь, я буду признателен за это