Получение ошибки при использовании Pixellib model.segmentFrame() для сегментации изображения, снятого с камерыPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Получение ошибки при использовании Pixellib model.segmentFrame() для сегментации изображения, снятого с камеры

Сообщение Anonymous »


импортировать библиотеку пикселей из пиксельной библиотеки импорта экземпляра_сегментации импортировать cv2 сегментация_модель = экземпляр_сегментация() сегментация_модель.load_model('mask_rcnn_coco.h5') крышка = cv2.VideoCapture(0) в то время как cap.isOpened(): ret, кадр = cap.read() # # Применить сегментацию экземпляров res = сегментация_модель.segmentFrame (кадр, show_bboxes = True) изображение = разрешение [1] cv2.imshow("Сегментация экземпляра: ", изображение) если cv2.waitKey(10) & 0xFF == ord('q'): перерыв крышка.релиз() cv2.destroyAllWindows() при запуске приведенного выше кода появляется следующая ошибка:

Traceback (последний вызов, последний) Входная ячейка[4], строка 6 3 ret, кадр = cap.read() 5 # # Применить сегментацию экземпляра ----> 6 res = сегментация_модель.segmentFrame(frame, show_bboxes=True) 7 изображение = разрешение[1] 9 cv2.imshow("Сегментация экземпляра: ", изображение) Файл ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pixellib\instance\__init__.py:442, в экземпляре_segmentation.segmentFrame(self,frame, show_bboxes,segment_target_classes, extract_segmented_objects, text_thickness, text_size, box_thickness, save_extracted_objects, Mask_points_values, выходное_имя_изображения, подробный) 440, если подробное значение не None: 441 print("Обработка изображения...") --> 442 результата = self.model.detect([new_frame]) 445 р = результаты[0] 447 """Фильтрация неиспользуемых обнаружений и обнаружение определенных классов """ Файл ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pixellib\instance\mask_rcnn.py:2469, в MaskRCNN.detect(self, images, verbose) 2466 результатов = [] 2467 для i, image в перечислении (изображения): 2468 Final_rois, Final_class_ids, Final_scores, Final_masks =\ -> 2469 self.unmold_detections(detections, mrcnn_mask, 2470 image.shape, Molded_images.shape, 2471 windows) 2472 results.append({ 2473 "rois": Final_rois, 2474 " class_ids": Final_class_ids, 2475 "баллов": Final_scores, 2476 "масок": Final_masks, 2477 }) 2478 возвращаемых результатов Файл ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pixellib\instance\mask_rcnn.py:2416, в MaskRCNN.unmold_detections(self, обнаружения, mrcnn_mask, original_image_shape, image_shape, window) 2413 full_masks = [ ] 2414 for i in range(N): 2415 # Преобразовать маску нейронной сети в полноразмерную маску -> 2416 full_mask = utils.unmold_mask(masks, box, original_image_shape) 2417 full_masks.append(full_mask) 2418 full_masks = np.stack(full_masks, axis=-1)\ 2419 if full_masks else np.empty (original_image_shape[:2] + (0,)) Файл ~\AppData\Local\Programs\Python\Python310\lib\site-packages\pixellib\instance\utils.py:566, в unmold_mask(mask, bbox, image_shape) 564 y1, x1, y2, x2 = bbox 565 маска = изменить размер (маска, (y2 - y1, x2 - x1)) --> 566 маска = np.where(маска >= порог, 1, 0).astype(np.bool) 568 # Поместите маску в нужное место. 569 полная_маска = np.zeros(image_shape[:2], dtype=np.bool) Файл ~\AppData\Local\Programs\Python\Python310\lib\site-packages\numpy\__init__.py:338, в __getattr__(attr) 333 предупреждения.предупреждать( 334 f"В будущем `np.{attr}` будет определяться как " 335 «соответствующий скаляр NumPy», FutureWarning, stacklevel=2) 337, если атрибут в __former_attrs__: --> 338 поднять AttributeError(__former_attrs__[attr]) 340, если attr == 'тестирование': 341 импортировать numpy.testing как тестирование AttributeError: модуль «numpy» не имеет атрибута bool. `np.bool` был устаревшим псевдонимом встроенного `bool`. Чтобы избежать этой ошибки в существующем коде, используйте `bool` отдельно. Это не изменит никакого поведения и безопасно. Если вам конкретно нужен скалярный тип numpy, используйте здесь np.bool_. Псевдонимы изначально устарели в NumPy 1.20; Более подробную информацию и рекомендации см. в исходном примечании к выпуску по адресу: https://numpy.org/devdocs/release/1.20. ... precations Я использую последнюю версию tensorflow с Python версии 10. я думаю, что ошибка связана с тем, что библиотека пикселей использует более старую версию numpy, а в более новой версии некоторые вещи устарели, что и вызывает проблему.

Я пытался загрузить предыдущую версию numpy, пытаясь устранить эту ошибку, но это не сработало.

Есть ли способ устранить эту ошибку? Если живое изображение не работает, есть ли способ просто сегментировать одно изображение, импортированное откуда-то еще? Если проблема связана с пиксельной библиотекой, есть ли другая библиотека, которую я могу использовать для достижения той же функциональности?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»