Как обрезать обнаруженную область mser в python?

Я пытаюсь обрезать область, обнаруженную с помощью mser. Функция mser.detect() создает mser-регионов, и я хотел бы обрезать эту область, чтобы получить результат. Я использую Python и был бы очень признателен, если кто-то может помочь в Python.

  regions, _ = mser.detectRegions(img)      
  hulls = [cv2.rect(p.reshape(-1, 1, 2)) for p in regions]
  print type(hulls);
  cv2.polylines(vis, hulls, 1, (0, 255, 0))

  #crop_img=[cv2.resize(vis, (b.width, b.height) ,interpolation = cv2.INTER_AREA) for b in bboxes]

Я хотел обрезать его в соответствии с корпусами.

1 ответ

Решение

Ты можешь использовать mask (в одном размере с img), который имеет значение 1, если его пиксель в корпусе, другие равны 0. Тогда просто используйте bitwise_and обрезать корпуса, которые вы хотите.

Другие вопросы по тегам