OpenCV Hough Circle Transform требует 8-битного изображения

Я работаю с Hough Circle Transform с моей RaspberryPi, и когда я беру ROI, чтобы проверить круг следующим образом:

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-битным изображением, или ошибка означает что-то еще

Заранее спасибо!

Редактировать:

введите описание изображения здесь

One Solution collect form web for “OpenCV Hough Circle Transform требует 8-битного изображения”

Спасибо Мики и бпачеву за помощь!

Первая ошибка означает, что вам нужно преобразовать ее в оттенки серого как это

 gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) 

И ошибка NoneType означает, что не было найдено ни одного круга, чтобы исключить ошибку, вы можете добавить этот оператор if

 if circles is not None: circles = numpy.round(circles[0, :]).astype("int") 

Тогда, поскольку никаких кругов не было найдено, где я знал, что есть круги, мне пришлось поиграть с настройками детектора.

  • Поворот изображения без обрезки OpenCV
  • OpenCV для Python - AttributeError: объект 'module' не имеет атрибута 'connectedComponents'
  • отображать изображение cv2.VideoCapture внутри поверхности Pygame
  • DrawContours () не работает opencv python
  • Легкий алгоритм самокалибровки монокулярной камеры
  • Python OpenCV конвертирует изображение в байтовую строку?
  • Преобразовать массив NumPy в cvMat cv2
  • Использование OpenCV Python, как бы вы сделали все черные пиксели прозрачными, а затем наложили поверх исходного изображения
  • Прозрачный фон для обучения OpenCV
  • Калибровка камеры OpenCV в Python без использования cv2.findChessboardCorners
  • OpenCV в Ubuntu 17.04
  •  
    Interesting Posts for Van-Lav

    Eclipse не может получить информацию о интерпретаторе в виртуальной среде

    Являются ли аксессоры в Python когда-либо оправданными?

    Нужна помощь в выявлении утечки памяти с использованием matplotlib и колбы

    Есть ли более читаемый способ для каменноугольных колонн в пандах

    Qt Widget с прозрачным фоном

    Как изменить размер фигуры боке

    TypeError: не может выполнить глубокую копию этого объекта шаблона

    Проблемы, связанные с тензорным потоком

    Как математически вычитать элементы в двух списках на Python и выводить только те элементы, которые соответствуют условию?

    В чем разница между ctypes.pointer, ctypes.POINTER и ctypes.byref?

    Значения NaN / inf в программах изучения многообразного обучения scikit-learn

    Как заставить окно python запускаться как «Always On Top»?

    Как выполнить арифметику условного массива в массиве numpy?

    Python Imaging Library сохраняет функциональный синтаксис

    Регулярное выражение Python над несколькими символами перевода строки

    Python - лучший язык программирования в мире.