Я работаю с Хью Кругом Transform с моим RaspberryPi и когда я беру ROI, чтобы проверить круг, как это:OpenCV Хаф Круг Transform потребность 8-битное изображение
for (x,y,w,h) in trafficLights:
cv2.rectangle(image,(x,y),(x+w,y+h),(0,0,255),2)
roi = image[y:y+h,x:x+w]
roi = cv2.medianBlur(roi,5)
circles = cv2.HoughCircles(roi,cv2.HOUGH_GRADIENT,1,20,
param1=50,param2=60,minRadius=0,maxRadius=0)
circles = numpy.uint16(numpy.around(circles))
for i in circles[0,:]:
if i[2] < 100:
cv2.circle(image,(i[0],i[1]),i[2],(0,255,0),2)
cv2.circle(image,(i[0],i[1]),2,(0,0,255),3)
if i[1] > 315:
print "Green Light"
else:
print "Red Light"
Я получаю эту ошибку
The source image must be 8-bit, single-channel in function cvHoughCircles
Как я могу преобразовать ROI стать 8-битное изображение или же ошибка означает, что-то еще
Спасибо заранее!
Edit:
вы можете преобразовать 'изображение' в оттенки серого. Используйте 'cv2.cvtColor (..., COLOR_BGR2GRAY)' – Miki
@Miki Когда я использую изображение с серой шкалой, это дает мне еще одну ошибку. Я обрисовал свой вопрос с изображением. – Loanb222
@Miki Он все еще дает ту же ошибку с раундом. – Loanb222