

画像の下半分のみを指定して検出させるコードを教えていただきたいです。


CC BY-SA 4.0
2022-05-03T02:19:56.340
88630
2022-05-03T05:24:37.473
52456
question
python opencv
pythonで画像の下半分を検出したい


画像の下半分のみを指定してオブジェクト検出を実行するコードという意味なら、[このノートブック](https://colab.research.google.com/github/tensorflow/hub/blob/master/examples/colab/object_detection.ipynb)のrun_detectorを以下のようにしてみてください。

[code]

    # https://colab.research.google.com/github/tensorflow/hub/blob/master/examples/colab/object_detection.ipynb
    
    def run_detector_half(detector, path):
      img = load_img(path)
      cropped_img = img[img.shape[0]//2:img.shape[0]]
      converted_img  = tf.image.convert_image_dtype(cropped_img, tf.float32)[tf.newaxis, ...]
      start_time = time.time()
      result = detector(converted_img)
      end_time = time.time()
    
      result = {key:value.numpy() for key,value in result.items()}
    
      print("Found %d objects." % len(result["detection_scores"]))
      print("Inference time: ", end_time-start_time)
    
      image_with_boxes = draw_boxes(
          cropped_img.numpy(), result["detection_boxes"],
          result["detection_class_entities"], result["detection_scores"])
      img_np = img.numpy()
      for i, j in enumerate(range(img.shape[0]//2, img.shape[0])):
        img_np[j] = image_with_boxes[i]
      display_image(img_np)
    
[/code]


CC BY-SA 4.0
2022-05-03T05:24:37.473
88632
2022-05-03T05:24:37.473
52014
88630
answer