Я только что написал этот простой код для отслеживания окружностей, он вообще не настроен, и я хочу исправить свою ошибку, прежде чем продолжить. Это говорит:
ValueError: невозможно преобразовать массив размера 6 в форму (3,)
Я пытался смотреть онлайн, но я нахожусь над моей головой. Может ли кто-нибудь указать мне правильное направление?
import cv2
import numpy as np
cap = cv2.VideoCapture(0)
def circle_image(image, circles):
image_circles = np.zeros_like(image)
if circles is not None:
for circle in circles:
rad, x1, y1 = circle.reshape(3)
cv2.circle(image_circles,(x1,y1),rad,(255,0,0), 10)
return image_circles
while cap.isOpened():
ret, frame = cap.read()
if ret == True:
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
blur_frame = cv2.GaussianBlur(gray_frame, (5, 5), 0)
canny_frame = cv2.Canny(blur_frame, 100, 100)
tires = cv2.HoughCircles(canny_frame,cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)
circles_to_blend = circle_image(canny_frame, tires)
combo_image = cv2.addWeighted(canny_frame, 0.8, circles_to_blend, 1, 1)
cv2.imshow('frame', combo_image)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()